Rotor position sensing system for three phase motors and related methods

ABSTRACT

A system and method for sensing rotor position of a three-phase permanent magnet synchronous motor (PMSM) includes a controller coupled with the PMSM and causing a plurality of voltage pulses to be applied thereto. A timer and/or an analog-to-digital converter is coupled with the PMSM and measures a plurality of values (measured values) from a three-phase inverter coupled with the PMSM. Each measured value may correspond with one of the plurality of voltage pulses and includes a current value or time value corresponding with an inductance of the PMSM. One or more logic elements calculates, based on the measured values and on one or more position algorithms, a position of a rotor of the PMSM relative to a stator of the PMSM. The system is configured to calculate the position of the rotor when the rotor is in a stopped configuration and when the rotor is in a rotating configuration.

CROSS REFERENCE TO RELATED APPLICATIONS

This application is a continuation of the earlier U.S. Utility patentapplication Ser. No. 15/219,021, entitled “Rotor Position Sensing Systemfor Three Phase Motors and Related Methods,” listing as first inventorKazumasa Takai, filed Jul. 25, 2016, which is a continuation-in-partapplication of the earlier U.S. Utility patent application Ser. No.15/215,425, entitled “Rotor Position Sensing System for Three PhaseMotors and Related Methods,” listing as first inventor Kazumasa Takai,filed Jul. 20, 2016, now pending, the disclosures of each of which arehereby incorporated entirely herein by reference.

BACKGROUND 1. Technical Field

Aspects of this document relate generally to three-phase motors.Specific implementations involve three-phase motors that use a star(wye) (Y) configuration or a delta configuration. Specificimplementations involve permanent magnet synchronous motors (PMSMs).

2. Background

Three-phase power system use three conductors each carrying alternatingcurrent. The currents have the same frequencies and amplitudes but areeach one-third out of phase relative to the other two. The phasedifference results in a voltage peak on each conductor one third of acycle after the voltage peak an another conductor (and so on), whicheffect may be used to product a rotating magnetic field in a motor.Permanent magnet synchronous motors (PMSMs) exist which utilize such arotating magnetic field, including surface PMSMs (SPMSMs) andinterior/internal PMSMs (IPMSMs).

SUMMARY

Implementations of system for sensing rotor position of a motor(systems) may include: a controller coupled with a delta configurationthree-phase permanent magnet synchronous motor (PMSM), the controllerconfigured to cause a plurality of voltage pulses to be applied to thePMSM; a timer and/or an analog-to-digital converter (ADC) coupled withthe PMSM and with the controller and configured to measure a pluralityof values (measured values) from a three-phase inverter coupled with thePMSM, each of the measured values corresponding with one of theplurality of voltage pulses and including a current value correspondingwith an inductance of the PMSM or a time value corresponding with aninductance of the PMSM, and; one or more logic elements configured tocalculate, based on the measured values and using one or more positionalgorithms, a position of a rotor of the PMSM relative to a stator ofthe PMSM; wherein the system is configured to calculate the position ofthe rotor when the rotor is in a stopped configuration and when therotor is in a rotating configuration.

Implementations of systems for sensing rotor position of a motor(systems) may include one, all, or any of the following:

The one or more logic elements may be coupled with one or more shuntresistors that are coupled with the three-phase inverter.

The system may be configured to calculate a position of a rotor of aPMSM that is not controlled using vector control (field-orientedcontrol).

The PMSM may be a surface permanent magnet synchronous motor (SPMSM).

The PMSM may be an interior permanent magnet synchronous motor (IPMSM).

The one or more logic elements may calculate the position of the rotorwithin 30 degrees of accuracy.

The system may include the timer, a comparator coupled with the timer,and a signal processor coupled with the timer and configured to togglethe timer between a start configuration and a stop configuration inresponse to an input from the comparator.

The one or more position algorithms may include

${{\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)}\mspace{14mu} {and}\text{/}{or}\mspace{14mu} {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)}}\mspace{11mu}$

wherein each α_(i) includes a value between 0 and 2π and wherein eachy_(i) includes one of the measured values.

The system may be configured to calculate a position of a rotor of aPMSM that is controlled using vector control (field-oriented control).

Implementations of systems for sensing rotor position of a motor(systems) may include: a controller coupled with a delta configurationthree-phase permanent magnet synchronous motor (PMSM), the controllerconfigured to cause a plurality of voltage pulses to be applied to thePMSM; at least three shunt resistors coupled with a three-phase invertercoupled with the PMSM; a timer and/or an analog-to-digital converter(ADC) coupled with the at least three shunt resistors and configured tomeasure a plurality of values (measured values), each of the measuredvalues corresponding with one of the plurality of voltage pulses andincluding a current value corresponding with an inductance of the PMSMor a time value corresponding with an inductance of the PMSM, and; oneor more logic elements coupled with the timer and/or the ADC andconfigured to calculate, based on the measured values and using one ormore position algorithms, a position of a rotor of the PMSM relative toa stator of the PMSM; wherein the system is configured to calculate theposition of the rotor when the rotor is in a stopped configuration andwhen the rotor is in a rotating configuration.

Implementations of systems for sensing rotor position of a motor(systems) may include one, all, or any of the following:

The system may be configured to calculate a position of a rotor of aPMSM that is not controlled using vector control (field-orientedcontrol).

The system may include the timer, the ADC, a comparator, and amultiplexer each coupled with the one or more logic elements.

The system may further include a sample and hold element (S/H) and ananalog multiplexer (AMUX) coupled with the one or more logic elements.

The one or more position algorithms may include

${{\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)}\mspace{14mu} {and}\mspace{14mu} {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)}}\mspace{11mu}$

wherein each α_(i) includes a value between 0 and 2π and wherein eachy_(i) includes one of the measured values.

Implementations of methods for sensing rotor position of a motor(methods) may include: coupling a controller and a timer and/or ananalog-to-digital converter (ADC) with a delta configuration three-phasepermanent magnet synchronous motor (PMSM); applying, using thecontroller, a plurality of voltage pulses to the PMSM; measuring, withthe timer and/or the ADC, a plurality of values (measured values) from athree-phase inverter coupled with the PMSM, each of the measured valuescorresponding with one of the plurality of voltage pulses and includinga current value corresponding with an inductance of the PMSM or a timevalue corresponding with an inductance of the PMSM, and; calculating,with one or more logic elements coupled with the PMSM, based on themeasured values and using one or more position algorithms, a position ofa rotor of the PMSM relative to a stator of the PMSM; wherein the one ormore logic elements are configured to calculate the position of therotor when the rotor is in a stopped configuration and when the rotor isin a rotating configuration, and; wherein the one or more logic elementsare configured to calculate a position of a rotor of a PMSM that is notcontrolled using vector control (field-oriented control).

Implementations of methods for sensing rotor position of a motor(methods) may include one, all, or any of the following:

The one or more position algorithms may include

${{\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)}\mspace{14mu} {and}\mspace{14mu} {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)}}\mspace{11mu}$

wherein each α_(i) includes a value between 0 and 2π and wherein eachy_(i) includes one of the measured values.

Calculating, with the one or more logic elements, the position of therotor relative to the stator when the rotor is in the stoppedconfiguration.

Coupling the timer with the PMSM and toggling the timer between a startconfiguration and a stop configuration using a signal processor inresponse to an input from a comparator.

Coupling the ADC with the PMSM, converting an analog signal from thethree-phase inverter to a digital signal using the ADC, andcommunicating the digital signal from the ADC to the one or more logicelements.

The measured values may be measured using one or more elements coupledwith one or more shunt resistors that are coupled with the three-phaseinverter.

The foregoing and other aspects, features, and advantages will beapparent to those artisans of ordinary skill in the art from theDESCRIPTION and DRAWINGS, and from the CLAIMS.

BRIEF DESCRIPTION OF THE DRAWINGS

Implementations will hereinafter be described in conjunction with theappended drawings, where like designations denote like elements, and:

FIG. 1 is a diagram representatively illustrating elements and axes ofan implementation of a permanent magnet synchronous motor (PMSM);

FIG. 2 is graph representatively illustrating magnetic distribution of aPMSM having an assumed sine or cosine waveform;

FIG. 3 is a graph representatively illustrating magnetic saturationcharacteristics of a surface PMSM (SPMSM) with the permanent magnet(s)of the SPMSM aligned with the d axis;

FIG. 4 is a graph representatively illustrating magnetic saturationcharacteristics of an SPMSM with the permanent magnet(s) of the SPMSMaligned with the q axis;

FIGS. 5A-5B representatively illustrates rotor magnetic fluxdistribution corresponding with various rotor positions of an SPMSM;

FIG. 6 representatively illustrates inductance sensing waveforms for aPMSM;

FIG. 7 is a diagram representatively illustrating elements and axes ofan implementation of a PMSM having a star (wye) (Y) configuration;

FIG. 8 is a diagram representatively illustrating an interior/internalPMSM (IPMSM) with the permanent magnets not aligned with a stator core(left image) and aligned with the stator core (right image);

FIG. 9 is a diagram representatively illustrating an SPMSM with poles ofthe permanent magnet not aligned with a stator core (left image) andaligned with the stator core (right image);

FIGS. 10A-10B representatively illustrates rotor magnetic fluxdistribution corresponding with various rotor positions of an SPMSMhaving a star configuration;

FIGS. 11A-11B representatively illustrates rotor magnetic fluxdistribution corresponding with various rotor positions of an IPMSMhaving a star configuration;

FIG. 12 representatively illustrates magnetic flux distribution andexpected stator inductance distribution in an SPMSM;

FIG. 13 representatively illustrates magnetic flux distribution,permeability distribution, and expected stator inductance distributionin an IPMSM;

FIG. 14 representatively illustrates an assumed inductance (L) waveformof a PMSM generated using measured values y₁ through y₆;

FIG. 15 representatively illustrates an assumed time value (Tmes)waveform of a PMSM generated using measured values y₁ through y₆;

FIG. 16 representatively illustrates an assumed current value (Imes)waveform of a PMSM generated using measured values y₁ through y₆;

FIG. 17 is a block diagram representatively illustrating elements of animplementation of a system for sensing rotor position of a motor;

FIG. 18 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 19 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 20 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 21 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 22 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 23 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 24 is a diagram representatively illustrating elements of animplementation of a three-phase inverter and a shunt resistor coupledtherewith;

FIG. 25 is a diagram representatively illustrating elements of anotherimplementation of a three-phase inverter and three shunt resistorscoupled therewith;

FIG. 26 is a flowchart representatively illustrating a method forsensing rotor position of a motor;

FIG. 27 is a flowchart representatively illustrating a method formeasuring a time value which is a portion of the method of FIG. 26;

FIG. 28 is a diagram representatively illustrating elements and axes ofan implementation of a PMSM having a delta configuration;

FIGS. 29A-29B representatively illustrates rotor magnetic fluxdistribution corresponding with various rotor positions of an SPMSMhaving a delta configuration;

FIGS. 30A-30B representatively illustrates rotor permeabilitydistribution corresponding with various rotor positions of an SPMSMhaving a delta configuration;

FIG. 31 representatively illustrates magnetic flux distribution andexpected stator inductance distribution in an SPMSM having a deltaconfiguration;

FIG. 32 representatively illustrates magnetic flux distribution,permeability distribution, and expected stator inductance distributionin an IPMSM having a delta configuration;

FIG. 33 representatively illustrates and assumed inductance (L) waveformof a delta configuration PMSM generated using measured values y₁ throughy₆;

FIG. 34 representatively illustrates an assumed time value (Tmes)waveform of a delta configuration PMSM generated using measured valuesy₁ through y₆;

FIG. 35 representatively illustrates an assumed current value (Imes)waveform of a delta configuration PMSM generated using measured valuesy₁ through y₆;

FIG. 36 is a block diagram representatively illustrating elements of animplementation of a system for sensing rotor position of a motor;

FIG. 37 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 38 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 39 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 40 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor;

FIG. 41 is a block diagram representatively illustrating elements ofanother implementation of a system for sensing rotor position of amotor, and;

FIG. 42 is a flowchart representatively illustrating a method forsensing rotor position of a motor.

DESCRIPTION

This disclosure, its aspects and implementations, are not limited to thespecific components, assembly procedures or method elements disclosedherein. Many additional components, assembly procedures and/or methodelements known in the art consistent with the intended rotor positionsensing system for three phase motors and related methods will becomeapparent for use with particular implementations from this disclosure.Accordingly, for example, although particular implementations aredisclosed, such implementations and implementing components may compriseany shape, size, style, type, model, version, measurement,concentration, material, quantity, method element, step, and/or the likeas is known in the art for such rotor position sensing system for threephase motors and related methods, and implementing components andmethods, consistent with the intended operation and methods.

Referring now to FIG. 1, a diagram representatively illustratingelements and axes of an implementation of a permanent magnet synchronousmotor (PMSM) 2 are shown, including a rotor 4 and a stator 6 includingwindings 8 that are wrapped around stator core elements (not shown).FIG. 1 shows a vector control (VC) example wherein a stator currentspace vector may be defined in a (d,q) coordinate system havingorthogonal components along d (direct) and q (quadrature, or 90 degreesoffset) axes so that a magnetic flux component of the stator current isaligned with the d axis and a torque component of the stator current isaligned with the q axis. In the representative examples that follow thed axes are defined to align with the N/S poles of magnets while the qaxes are defined to be orthogonal thereto.

Interior/internal permanent magnet synchronous motors (IPMSMs) exhibitsalient-pole characteristics so that d-axis inductance is smaller thanq-axis inductance. In other words, when the d-axis overlaps with astator axis (u, v, or w) the inductance is expected to be smallest. FIG.8 representatively illustrates an example of a PMSM 10 having aninterior/internal permanent magnetic synchronous motor (IPMSM) 12configuration, and the salient pole characteristics may be easilyvisualized. Only two stator cores are shown, for ease of illustrationand explanation. The rotor in this representative example includes apair of internal magnets and the rotor is formed of silicon steel (or isbounded by a silicon steel plate).

Other materials and configurations are possible, but in the leftmostimage the q-axis of the rotor is aligned with the stator cores/windingsand in the rightmost image the d-axis of the rotor is aligned with thestator cores/windings. Inductance in this example can be given by theequation:

$\begin{matrix}{L = \frac{\mu \; N^{2}{S}}{l}} & \left( {{Eq}.\mspace{14mu} 0} \right)\end{matrix}$

where μ is the permeability, N is the number of coil turns, S is thecoil cross-section area, and l is the coil length.

The permeability of the silicon steel material is higher than thepermeability of the magnets, and accordingly the permeability μq whenthe q-axis is aligned with the stator core/winding is higher than thepermeability μd when the d-axis is aligned with the stator core/winding.Accordingly, inductance Lq (when the q-axis is aligned with the statorcore/winding) is higher than inductance Ld (when the d-axis is alignedwith the stator core/winding), resulting in the salient-polecharacteristic. As described, the two-core example given in FIG. 8 isused for ease of explanation, but the same characteristics apply to athree-core stator as shown in FIG. 1 and used with a three phase motor,so that a three phase IPMSM exhibits salient pole characteristics.

FIG. 9 shows a representative example of a PMSM 10 having a surfacepermanent magnet synchronous motor (SPMSM) 14 configuration. As can beseen, whether the poles N/S of the surface magnet are aligned with thestator cores/windings (rightmost image), or orthogonal thereto (leftmostimage), the permeability is the same. Thus the permeability μq when theq-axis is aligned with the stator core/winding is the same as thepermeability μd when the d-axis is aligned with the stator core/winding.Thus there are no permeability differences to generate salient-polecharacteristics or, in other words, differences between the inductanceLq (when the q-axis is aligned with the stator core/winding) and theinductance Ld (when the d-axis is aligned with the stator core/winding).

Nevertheless, with an SPMSM there is a difference in inductance betweenthe q-axis and d-axis alignments due at least in part to the effect ofrotor magnetic flux and stator magnetic saturation characteristics. Thisis representatively illustrated in FIG. 3 and FIG. 4, where Ψm is thepermanent magnet flux, Ψd and Ψq are components of the integratedmagnetic flux made by the permanent magnet and the stator current alongthe d-axis and q-axis respectively, Id and Iq are stator currentcomponents along the d-axis and q-axis respectively, and the inductanceL at any point on either graph is the slope, i.e., the change inintegrated magnetic flux divided by the change in the stator currentcomponent. It can be seen from the example that Ld0 is greater than Ld1,and it can also be seen that Ld0 is equal to Lq1, so it follows that Lq1is greater than Ld1. In other words, the inductance of an SPMSM issmaller at d-axis alignment than q-axis alignment due to the effects ofrotor magnetic flux and magnetic saturation characteristics, despite anSPMSM being considered to not have salient-pole characteristics. Thuswhen the stator current vector overlaps with the d-axis, the inductanceis expected to be smallest.

Based on the characteristics shown in FIGS. 3-4 and described above,rotor magnetic flux distribution at various rotor positions of an SPMSMare given in FIGS. 5A-5B. In this representative example thedistribution shows an approximately sinusoidal waveform which completesone cycle with one rotation of electric angle of the rotor. The rotorposition in FIGS. 5A-5B is defined as 0 degrees when the u-axis overlapsor aligns with the d-axis. The phases are represented so that, forexample, uv represents the current vector in which the energization isperformed in the direction from the u phase to the v phase, while vurepresents energization from the v phase to the u phase, and so forthwith the other designations wu, vw, wv, uw. For example, if the rotorposition is at 30 degrees, then if a wu current vector is applied theinductance is expected to be smallest.

Inductance of a PMSM may be used to determine its position. Inductancemay be found using the equation L=Vdt/dI, where L is the inductance, Vis the voltage (unit function) and I is the current. If V is constant(unit function) the relationship between inductance and time/current issuch that a small inductance could be indicative of a small time inwhich a specified current variation was exhibited or a large currentvariation within a certain amount of time. Inductance may therefore besensed by applying a pulse voltage to a PMSM and measuring time orcurrent as representatively illustrated in FIG. 6, where Tc is aspecified constant time, Imes is a measured current, Ic is a specifiedconstant current, Tmes is a measured time, and CURM0 is an Ic sensingflag

For example, a voltage pulse may be applied for a specified constanttime Tc, and at the end of that time the current may be measured (Imes).In other implementations, a voltage pulse may be applied until aspecified current is reached (Ic) and the time to reach that current maybe measured (Tmes). As different voltage pulses will be applied to thePMSM, when the current begins to decay (or some point thereafter) theCURM0 signal may be generated by one or more elements of a positionsensing system to indicate that the next pulse may be applied and/or tootherwise trigger other elements of a position sensing system. The CURM0signal may trigger one or more events based on how quickly the currentdecays, and as seen in FIG. 6 in some PMSMs current may decay quicklyand in others it may decay slowly. Accordingly, the rotor positionsensing system may be configured to wait to send the next pulse untilafter the current from the previous pulse has fully decayed. Thus CURM0may be sent at the time when decay starts, and the system may beconfigured to wait until decay will be complete before generating thenext pulse, or CURM0 may be sent when decay is already complete.

Rotor position estimation may be done using a few assumptions andmathematics as will now be described. If it is assumed that rotormagnetic flux shows an approximately sinusoidal waveform in idealconditions, and the magnetic flux data are given in some way, then thesinusoidal waveform may be estimated by curve fitting, asrepresentatively illustrated in FIG. 2, where a plurality of measuredvalues y₁-y₆ (or up to any y_(i)) are used to fit a curve. Some of themath that will be given below is based on quadrature detection and aleast squares method.

A model equation y=A sin(ωt+θ) may be used, where A is amplitude, y is ameasured value or measured data, w is angular velocity, t is measuredtime, and θ is a phase, which indicates rotor position. Since the curvefitting algorithm uses a least squares method, any DC offset of y_(i)may be ignored.

When the measured time and the measured data are defined as (t₁, t₂, t₃,. . . t_(N),) and (y₁, y₂, y₃, . . . y_(N),) the model equation may bewritten as follows:

$\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix} = {\begin{bmatrix}{A\; {\sin \left( {{\omega \; t_{1}} + \theta} \right)}} \\{A\; {\sin \left( {{\omega \; t_{2}} + \theta} \right)}} \\\vdots \\{A\; {\sin \left( {{\omega \; t_{N}} + \theta} \right)}}\end{bmatrix} = {\quad{\begin{bmatrix}{{A\; {\sin \left( {\omega \; t_{1}} \right)}{\cos (\theta)}} + {A\; {\cos \left( {\omega \; t_{1}} \right)}{\sin (\theta)}}} \\{{A\; {\sin \left( {\omega \; t_{2}} \right)}{\cos (\theta)}} + {A\; {\cos \left( {\omega \; t_{2}} \right)}{\sin (\theta)}}} \\\vdots \\{{A\; {\sin \left( {\omega \; t_{N}} \right)}{\cos (\theta)}} + {A\; {\cos \left( {\omega \; t_{N}} \right)}{\sin (\theta)}}}\end{bmatrix} = {\quad{\begin{bmatrix}{\sin \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{1}} \right)} \\{\sin \left( {\omega \; t_{2}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} \\\vdots & \vdots \\{\sin \left( {\omega \; t_{N}} \right)} & {\cos \left( {\omega \; t_{N}} \right)}\end{bmatrix}{\quad\begin{bmatrix}{A\; {\cos (\theta)}} \\{A\; {\sin (\theta)}}\end{bmatrix}}}}}}}$

The above equation may be written as Y=GP, where:

$\begin{matrix}{Y = {{\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix}\mspace{14mu} G} = {\begin{bmatrix}{\sin \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{1}} \right)} \\{\sin \left( {\omega \; t_{2}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} \\\vdots & \vdots \\{\sin \left( {\omega \; t_{N}} \right)} & {\cos \left( {\omega \; t_{N}} \right)}\end{bmatrix}{\quad\mspace{14mu} {P = \begin{bmatrix}{A\; {\cos (\theta)}} \\{A\; {\sin (\theta)}}\end{bmatrix}}}}}} & \left( {{Eq}.\mspace{14mu} 1} \right)\end{matrix}$

If measurement error E is added, the equation may be written as Y=GP+Eor E=Y−GP. The least squares method finds the solution to P which givesthe extremum of square norm of E, as follows:

$\begin{matrix}{{{E}^{2} = {{E^{*} \cdot E} = {{\left( {Y^{*} - {P^{*}G^{*}}} \right)\left( {Y - {GP}} \right)} = {{{Y^{*}Y} - {Y^{*}{GP}} - {P^{*}G^{*}Y} + {P^{*}G^{*}{GP}}} = {{Y^{*}Y} - {2Y^{*}{GP}} + {P^{*}G^{*}{GP}}}}}}}\mspace{20mu} {{\frac{\partial}{\partial P}{E}^{2}} = {{{{- 2}Y^{*}G} + {2P^{*}G^{*}G}} = 0}}\mspace{20mu} {{Y^{*}G} = {P^{*}G^{*}G}}\mspace{20mu} {P^{*} = {Y^{*}{G\left( {G^{*}G} \right)}^{- 1}}}\mspace{20mu} {P = {\left( {G^{*}G} \right)^{- 1}G^{*}Y}}\mspace{20mu} {P = {G^{+}Y}}} & \left( {{Eq}.\mspace{11mu} 2} \right)\end{matrix}$

Where:

Y*, P*, G*; adjoint matrix

G⁺=(G*G)⁻¹G*; pseudo-inverse matrix

If G⁺ is found by what Eq. 1 is assigned to Eq. 2, then P may be found.

  P = G⁺Y   P = (G^(T)G)⁻¹G^(T)Y;$G^{T} = {{G^{*}\mspace{14mu} {since}\mspace{14mu} G\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {number}} = {\left( {\begin{bmatrix}{\sin \left( {\omega \; t_{1}} \right)} & {\sin \left( {\omega \; t_{2}} \right)} & \ldots & {\sin \left( {\omega \; t_{N}} \right)} \\{\cos \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} & \ldots & {\cos \left( {\omega \; t_{N}} \right)}\end{bmatrix}\begin{bmatrix}{\sin \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{1}} \right)} \\{\sin \left( {\omega \; t_{2}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} \\\vdots & \vdots \\{\sin \left( {\omega \; t_{N}} \right)} & {\cos \left( {\omega \; t_{N}} \right)}\end{bmatrix}} \right)^{- 1}{\quad{{\left\lbrack \begin{matrix}{\sin \left( {\omega \; t_{1}} \right)} & {\sin \left( {\omega \; t_{2}} \right)} & \ldots & {\sin \left( {\omega \; t_{N}} \right)} \\{\cos \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} & \ldots & {\cos \left( {\omega \; t_{N}} \right)}\end{matrix} \right\rbrack\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack} = {\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2}} & {\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}{\cos \left( {\omega \; t_{i}} \right)}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}{\cos \left( {\omega \; t_{i}} \right)}}} & {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}\end{bmatrix}}}}}}}$

The term of Σ_(i=1) ^(N) sin (ωt_(i))cos(wt_(i)) must be zero becausethe measured period is only one electric cycle and each measured timeinterval must be the same, so the equation becomes:

$\begin{matrix}{= {{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}\end{bmatrix}} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}}}{\quad{{\left\lbrack \begin{matrix}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2}}\end{matrix} \right\rbrack \begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}\end{bmatrix}} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}}}{\quad {\quad{\left\lbrack \begin{matrix}{\sum\limits_{i = 1}^{N}\; {\left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {\left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}\end{matrix} \right\rbrack = {\quad{\left\lbrack \begin{matrix}\frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {\omega \; t_{i}} \right)} \right)^{2}} \\\frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}\end{matrix} \right\rbrack = \begin{bmatrix}{A\; {\cos (\theta)}} \\{A\; {\sin (\theta)}}\end{bmatrix}}}}}}}}}}}} & \left( {{Eq}.\mspace{11mu} 3} \right) \\{\mspace{79mu} {\theta = {\tan^{- 1}\frac{A\; {\sin (\theta)}}{A\; {\cos (\theta)}}}}} & \left( {{Eq}.\mspace{11mu} 4} \right)\end{matrix}$

Therefore, equations 3 and 4 give an estimated rotor position and:

A=√{square root over ((A cos(θ))²+(A sin(θ))²)}

If, instead of using the model equation y=A sin(ωt+θ) the model equationy=A cos(ωt+θ) is used, the estimated rotor position is given as follows:

$\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack = {\begin{bmatrix}{A\; {\cos \left( {{\omega \; t_{1}} + \theta} \right)}} \\{A\; {\cos \left( {{\omega \; t_{2}} + \theta} \right)}} \\\vdots \\{A\; {\cos \left( {{\omega \; t_{N}} + \theta} \right)}}\end{bmatrix} = {\begin{bmatrix}{{A\; {\cos \left( {\omega \; t_{1}} \right)}{\cos (\theta)}} - {A\; {\sin \left( {\omega \; t_{1}} \right)}{\sin (\theta)}}} \\{{A\; {\cos \left( {\omega \; t_{2}} \right)}\cos (\theta)} - {A\; {\sin \left( {\omega \; t_{2}} \right)}{\sin (\theta)}}} \\\vdots \\{{A\; {\cos \left( {\omega \; t_{N}} \right)}\cos (\theta)} - {A\; {\sin \left( {\omega \; t_{N}} \right)}{\sin (\theta)}}}\end{bmatrix} = {\quad{\left\lbrack \begin{matrix}{\cos \left( {\omega \; t_{1}} \right)} & {- {\sin \left( {\omega \; t_{1}} \right)}} \\{\cos \left( {\omega \; t_{2}} \right)} & {- {\sin \left( {\omega \; t_{2}} \right)}} \\\vdots & \vdots \\{\cos \left( {\omega \; t_{N}} \right)} & {- {\sin \left( {\omega \; t_{N}} \right)}}\end{matrix} \right\rbrack \begin{bmatrix}{A\; {\cos (\theta)}} \\{A\; {\sin (\theta)}}\end{bmatrix}}}}}$

The above equation may be written as Y=GP, where:

$\begin{matrix}{\mspace{79mu} {{Y = {{\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack \mspace{14mu} G} = {{\left\lbrack \begin{matrix}{\cos \left( {\omega \; t_{1}} \right)} & {- {\sin \left( {\omega \; t_{1}} \right)}} \\{\cos \left( {\omega \; t_{2}} \right)} & {- {\sin \left( {\omega \; t_{2}} \right)}} \\\vdots & \vdots \\{\cos \left( {\omega \; t_{N}} \right)} & {- {\sin \left( {\omega \; t_{N}} \right)}}\end{matrix} \right\rbrack \mspace{14mu} P} = \begin{bmatrix}{A\; {\cos (\theta)}} \\{A\; {\sin (\theta)}}\end{bmatrix}}}}\mspace{79mu} {{P = {{G^{+}Y\mspace{14mu} P} = {\left( {G^{T}G} \right)^{- 1}G^{T}Y}}};}{G^{T} = {{G^{*}\mspace{14mu} {since}\mspace{14mu} G\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {number}} = \left( {\left\lbrack \begin{matrix}{\cos \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} & \ldots & {\cos \left( {\omega \; t_{N}} \right)} \\{- {\sin \left( {\omega \; t_{1}} \right)}} & {- {\sin \left( {\omega \; t_{2}} \right)}} & \ldots & {- {\sin \left( {\omega \; t_{N}} \right)}}\end{matrix} \right\rbrack \left. \quad\left\lbrack \begin{matrix}{\cos \left( {\omega \; t_{1}} \right)} & {- {\sin \left( {\omega \; t_{1}} \right)}} \\{\cos \left( {\omega \; t_{2}} \right)} & {- {\sin \left( {\omega \; t_{2}} \right)}} \\\vdots & \vdots \\{\cos \left( {\omega \; t_{N}} \right)} & {- {\sin \left( {\omega \; t_{N}} \right)}}\end{matrix} \right\rbrack \right)^{- 1}\; {\quad\; {{\left\lbrack \begin{matrix}{\cos \left( {\omega \; t_{1}} \right)} & {\cos \left( {\omega \; t_{2}} \right)} & \ldots & {\cos \left( {\omega \; t_{N}} \right)} \\{- {\sin \left( {\omega \; t_{1}} \right)}} & {- {\sin \left( {\omega \; t_{2}} \right)}} & \ldots & {- {\sin \left( {\omega \; t_{N}} \right)}}\end{matrix} \right\rbrack\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack} = {\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}} & {\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {\omega \; t_{i}} \right)}}{\sin \left( {\omega \; t_{i}} \right)}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}{\cos \left( {\omega \; t_{i}} \right)}}} & {\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2}}\end{bmatrix}^{- 1}{\quad\left\lbrack \begin{matrix}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}\end{matrix} \right\rbrack}}}}}} \right.}}}} & \left( {{{Eq}.\mspace{11mu} 1}A} \right)\end{matrix}$

The term of Σ_(i=1) ^(N)−sin(ωt_(i))cos(wt_(i)) must be zero, so theequation becomes:

$\begin{matrix}{= {\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2}}\end{bmatrix}^{- 1}{\quad{\left\lbrack \begin{matrix}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}\end{matrix} \right\rbrack = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}}}{\quad{\left\lbrack \begin{matrix}{\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}\end{matrix} \right\rbrack {\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}\end{bmatrix} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}}}}{\quad {\quad{\left\lbrack \begin{matrix}{\sum\limits_{i = 1}^{N}\; {\left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {\left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}\end{matrix} \right\rbrack  = {\quad{\quad {\quad {\quad{\left\lbrack \begin{matrix}\frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {\omega \; t_{i}} \right)} \right)^{2}} \\\frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {\omega \; t_{i}} \right)}} \right)^{2}}\end{matrix} \right\rbrack = \begin{bmatrix}{A\; {\cos (\theta)}} \\{A\; {\sin (\theta)}}\end{bmatrix}}}}}}}}}}}}}}}}}}} & \left( {{{Eq}.\mspace{11mu} 3}A} \right)\end{matrix}$

From FIGS. 5A-5B it can be seen that the term cut may have the followingvalues between 0 and 2π (or between 0 and 5 π/3): ωt₁=0, ωt₂=π/3,ωt₃=2π/3, ωt₄=π, ωt₅=4π/3, ωt₆=5π/3.

In summary, the estimation equations are able to be defined as follows.When the model equation is y=A sin(ωt+θ):

$\begin{matrix}{{{A\; {\cos (\theta)}} = {{\frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}}{3}\mspace{14mu} A\; {\sin (\theta)}} = \frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}{3}}}{\theta = {{\tan^{- 1}\left( \frac{A\; {\sin (\theta)}}{A\; {\cos (\theta)}} \right)} = {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{\sin \left( {\omega \; t_{i}} \right)}y_{i}}} \right)}}}} & \left( {{Eq}.\mspace{11mu} 5} \right)\end{matrix}$

When the model equation is y=A cos(ωt+θ):

$\begin{matrix}{{{A\; {\cos (\theta)}} = {{\frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}}{3}\mspace{14mu} A\; {\sin (\theta)}} = \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}{3}}}{\theta = {{\tan^{- 1}\left( \frac{A\; {\sin (\theta)}}{A\; {\cos (\theta)}} \right)} = {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {\omega \; t_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {\omega \; t_{i}} \right)}y_{i}}} \right)}}}} & \left( {{{Eq}.\mspace{11mu} 5}A} \right)\end{matrix}$

For example, FIG. 17 shows a representative implementation of a systemfor sensing rotor position of a motor (system) 22. The motor to whichthe system is coupled is a star configuration three-phase permanentmagnet synchronous motor (PMSM) 16 having a rotor 18 and stator 20. Athree-phase inverter 26 is coupled with the PMSM and receives UH, VH,WH, UL, VL, and WL signals from a pre-driver. The three-phase invertermay, by non-limiting example, have the configuration shown ofthree-phase inverter 128 of FIG. 24, where the UH signal controls switchQ1H, VH signal controls switch Q2H, WH signal controls switch Q3H, ULsignal controls switch Q1L, VL signal controls switch Q2L, and WL signalcontrols switch Q3L to output three phase power to lines UOUT, VOUT, andWOUT, which are coupled with the PMSM using a star configuration.Three-phase inverter is coupled with voltage VM and a shunt resistor 42(labeled Rs) is also coupled therewith as part of system 22.

The switches of three-phase inverter 128 may be controlled, such as bythe main-state controller controlling the normal drive signal processorand/or the inductance measurement signal processor, to accomplish thedesired current vector. For example, if the uv current vector is needed,Q1H and Q2L may be turned on and all other switches turned off, so thatthe current shown is the Rs voltage. The switches may be otherwisechanged as desired to accomplish the wu, wv, uw, vw, and vu currentvectors.

FIG. 17 shows that two lines are coupled on either side of Rs and areinput to an amplifier (AMP) 40. A normal drive signal processor is usedto control the pre-driver, but system 22 includes a multiplexer 36coupled between the normal drive signal processor and the pre-driver soas to receive signals from the normal drive signal processor and from aninductance measurement signal processor (signal processor) 44. Themultiplexer 36 is controlled by a main state controller (controller) 24which also may communicate with the normal drive signal processor.Accordingly, in order to determine the position of the rotor of thePMSM, the controller 24 may alter the input of the pre-driver usingmultiplexer 36 so that inputs from signal processor 44 are used togenerate voltage pulses using the pre-driver.

In this representative example, the input from the normal drive signalprocessor is not received by the pre-driver while the signal processor44 is driving the voltage pulses with the pre-driver. However, in someimplementations the multiplexer 36 could be toggled with the main statecontroller so that the signal(s) from the normal driver signal processorto the pre-driver is only briefly cut off while the signal from thesignal processor 44 is passed through and then the signal(s) from thenormal drive signal processor is allowed to continue. In such animplementation the normal driver signal processor signal could betoggled back on (or in other words the multiplexer 36 toggled to allowthat signal to pass through) in between voltage pulses. In otherimplementations the signal from the normal drive signal processor to thepre-driver could be disallowed to pass through multiplexer 36 until allvoltage pulses needed to establish the position of the rotor have beenaccomplished. In other implementations the normal drive signal processorcould be controlled to drive the voltage pulses directly instead ofutilizing the signal processor 44 for that purpose.

Each time a voltage pulse occurs a signal will be received by AMP 40. Inimplementations this signal will be amplified by AMP 40 and passed on sothat one signal will be passed to comparator 32 and another to ananalog-to-digital converter (ADC) 30. In other implementations thesignal could be passed only to the comparator or only to the ADC. Thecomparator is communicatively coupled with a timer 28 and the timer iscommunicatively coupled with multiplexer 34. The ADC 30 iscommunicatively coupled with multiplexer 34 and is also communicativelycoupled with the normal drive signal processor.

A number of logic elements 38 are coupled with multiplexer 34 and withthe normal drive signal processor and are used to determine the rotorposition. Either the time measurement (Tmes) method or the currentmeasurement (Imes) method, as described above, could be used todetermine rotor position. If the Tmes method is used, then the timer isused in the process. For example, the signal processor 44 may cause thetimer to start when the voltage pulse is initialized (or, in otherimplementations, may cause the timer to start when the current reaches afirst level as communicated to the signal processor 44 from thecomparator. When the current reaches an Ic level (some predeterminedcurrent level) as communicated from the comparator to the signalprocessor 44, then the timer may be caused to stop by the signalprocessor 44 (though in other implementations one or more signals fromthe comparator to the timer may be used to directly start and/or stopthe timer). In this way, the system 22 measures, in conjunction witheach voltage pulse, the time in which the current reaches a specifiedcurrent level. As discussed previously with respect to FIG. 6, this maybe used to determine inductance of the PMSM, which may in turn be used,together with one or more algorithms, to determine rotor position.

In representative examples there are six voltage pulses used for rotorposition calculation, though it may be understood that fewer or morevoltage pulses could be used in other implementations. Each time avoltage pulse is applied a new y_(i) value, including a measured timeTmes (or a measured current Imes if that method is used), the signal iscommunicated to the multiplexer 34 from the timer. The multiplexeroutputs the signal through the Tmes/Imes-Magnetic Flux Distribution DataConverter 39 which then outputs further down the line. Since in thisexample system 22 is using Tmes to calculate the rotor position the mainstate controller 24 will control multiplexer 34 so that the signals fromthe timer are passed through it. The measured values y_(i) in therepresentative example are therefore measured time values Tmes.

The logic elements 38 are configured to calculate the position of therotor using the measured values y_(i). The equation tan⁻¹(σ_(b)/σ_(a)),for example, is a simplified way of writing Equation 5, given above.Therefore, σ_(b) represents A sin(θ) and σ_(a) represents A cos(θ), butsince each of these is a summation (as indicated by Equation 5) it maybe seen in FIG. 17 that each of these values is calculated with one ormore logic elements that sums the individual values Za_(i) and Zb_(i).The individual Za_(i) and Zb_(i) values are communicated to the summingelements using one or more logic elements that perform the sine/cosineoperations and/or any other needed operations as given in Equation 5,which utilize the values ωt_(i) and y_(i).

The a_(i) values shown in FIG. 17 are sin(ωt_(i)) or cos(ωt_(i)) and theb_(i) values shown in FIG. 17 are cos(ωt_(i)) or −sin(ωt_(i)) dependingon which mode is being used (current or time measurement). Summationsare performed by logic elements 38 as indicated by Equation 5/5A. Theinverse tangent operation is performed to obtain the θ value, indicativeof the rotor position relative to the stator (within 30 degrees ofaccuracy in various implementations). This is communicated to the normaldrive signal processor. The ωt_(i) values have been described above andare constants, they may be stored in memory, input by a user, orcalculated by the system based on the value of N.

The motor current Im is also communicated to the normal drive signalprocessor from the ADC when the signal processor 44 controls the ADC tosend that signal. In the implementation of FIG. 17 the PMSM is not beingcontrolled with vector control, but nevertheless the system 22 (whichincludes Rs, the AMP 40, the timer, the comparator, the ADC, multiplexer34, the logic elements 38, the main state controller, the inductancemeasurement signal processor, and multiplexer 36), is able to determinethe rotor position of the PMSM rotor using voltage pulses and measuringthe time for the current to reach a certain level with each pulse (oralternatively using the Imes method), as previously described. Thenormal drive signal processor may use the initial rotor positioninformation θ_(ini) and the motor current information I_(m) to determinehow to control the pre-driver to optimally increase, maintain, ordecrease the speed of the rotor as desired. The system 22 may be usedwhen the rotor is in a stopped configuration and also when the rotor isin a rotating configuration.

In other methods of use of system 22, a voltage pulse may be applied fora specified amount of time and the current reached may be measured(Imes) instead of the time. In this case a signal may be communicatedfrom the ADC to the Tmes/Imes-Magnetic Flux Distribution Data Converter39 through the multiplexer 34 with each pulse. In some implementationsthe comparator could be used to determine when the current peaks witheach pulse and may communicate this to the signal processor 44 which maythen control the ADC so that the ADC sends a signal indicative of thepeak current level to the Tmes/Imes-Magnetic Flux Distribution DataConverter 39 through multiplexer 34 as the y_(i) value. The math is thenperformed by the logic elements using the relationships described abovein Equation 5A. In this operation condition the controller 24 wouldcontrol the multiplexer 34 so that the signal from the ADC is passedthrough to the logic elements. Many different configurations andorganizations of logic elements may be used to perform the operations ofEquations 5 and/or 5A.

Descriptions and math related specifically to a PMSM with a star (wye)(Y) configuration will now be given. Referring now to FIG. 7, variousaxes may be defined. The u-axis, v-axis, and w-axis are stationary axeshaving axes aligned with corresponding stator cores. The a-axis is astationary axis parallel to the u-axis and the b-axis is the quadratureof the a-axis (in other words 90 degrees offset from the a-axis). Theη-axis is a stationary axis having a phase difference of δ from thea-axis, and the ξ-axis is the quadrature of the η-axis. The d-axis is onan axis of the rotor magnetic flux and the q-axis is the quadrature ofthe d-axis (these are rotating axes). The θ angle is the phasedifference between the a-axis and the d-axis. The rotor position in thisrepresentative example is defined as 0 degrees when the u-axis isparallel with the d-axis. The φ angle is θ+δ. The north and south poles(N/S) of the permanent magnet of the PMSM rotor may be seen at thecenter of the figure.

The descriptions above with respect to the d-axis and q-axis inductanceof IPMSMs and SPMSMs apply, namely, that d-axis inductance is smallerthan q-axis inductance. FIGS. 10A-10B show rotor magnetic fluxdistribution and rotor position of an SPMSM which applies to an SPMSMhaving a star configuration, and the distribution shows an approximatesinusoidal waveform completing one cycle with one electric anglerotation of the rotor. This is essentially the same as that shown inFIGS. 5A-5B previously. FIGS. 11A-11B show rotor permeabilitydistribution and rotor position of an IPMSM which applies to an IPMSMhaving a star configuration. The distribution shows a sinusoidalwaveform having a double cycle with one electric angle rotation of therotor. As described previously, uv means the current vector phase inwhich the energization is performed with direction from the u-phase tothe v-phase, vu means energization performed with direction from thev-phase to the u-phase, and vw, wv, wu, and uw are similarly defined.

FIG. 12 shows an example of an SPMSM where the rotor position is at 30degrees. In this position, when the wu-current vector is input, thestator inductance is expected to be smallest due to the magneticsaturation characteristics, and when the uw-current vector is input theinductance is expected to be second smallest. FIG. 13 shows an exampleof an IPMSM where the rotor position is at 30 degrees. When thewu-current vector is input the inductance is expected to be smallest dueto the μ distribution and the magnetic saturation characteristics. Whenthe uw-current vector is input the inductance is expected to be secondsmallest. The inductance distribution may be represented as asuperimposed distribution of μ and the magnetic saturationcharacteristics, and the inductance distribution is seen to have adouble frequency of the flux distribution.

Rotor position estimation specifically for a PMSM having a starconfiguration is done using the following assumptions: rotor magneticflux has a sinusoidal waveform even if there is some distortion;inductance distribution has double the frequency of the fluxdistribution; the phase of the sinusoidal waveform will indicate rotorposition, and; although the inductance distribution shows doublefrequency of the magnetic flux distribution, magnetic saturationcharacteristics solve double function issues. The sinusoidal waveform isestimated by curve fitting.

The relation between the energization patterns vu, vw, uw, uv, wv, andwu are defined as: α₁=wu, α₂=wv, α₃=uv, α₄=uw, α₅=vw, α₆=vu.Accordingly, α_(i) is the energization current vector phase and hasintervals of π/3. As shown in FIG. 7 and FIGS. 10A-11B, when α_(i) isdefined on the ab-axis the α_(i) values are as follows: α₁=π/6, α₂=π/2,α₃=5π/6, α₄=7π/6, α₅=3π/2, α₆=11π/6. They therefore range between 0-2π(or 0-11π/6).

When 2α_(i) is zero or an integral multiple of π/2, the value of thesine or cosine function becomes zero. To avoid this, the ηξ-coordinatesystem and φ are introduced. As described above:

φ=θ+δ  (Eq. 1B)

Therefore, α_(i) is biased with δ and is defined as follows:

$\begin{matrix}{\alpha_{i} = {\frac{\pi}{6} + \delta + {\frac{\pi}{3}\left( {i - 1} \right)}}} & \left( {{{Eq}.\mspace{11mu} 2}B} \right)\end{matrix}$

Where i=1, 2, 3, 4, 5, or 6 (though in other implementations more thansix values could be used). The term δ is set to avoid the conditionwhere 2α_(i) becomes an integral multiple of π/2 or zero (for examplesetting δ equal to π/24 works). FIG. 14-16 show the relationship betweeninductance (L), Tmes, Imes, and the measuring data (or measured values)y_(i). FIG. 14 representatively illustrates an assumed inductance (L)waveform of a PMSM generated using measured values y₁ through y₆. FIG.15 representatively illustrates an assumed time value (Tmes) waveform ofa PMSM generated using measured values y₁ through y₆. FIG. 16representatively illustrates an assumed current value (Imes) waveform ofa PMSM generated using measured values y₁ through y₆.

The below math is based on a least squares method. When the measuring isperformed using Tmes based on FIGS. 10A-11B, the model equation is givenas y=−A cos(2α−2φ) where A is amplitude, y is measured data or ameasured value, α is measuring current vector phase on the ηξ-coordinatesystem, and φ is the phase, which indicates the rotor position on theηξ-coordinate system. If α and y are known, then the equation is solvedby finding the solution to A and φ. On the other hand, if measuring isperformed with Imes, the model equation is given as y=A cos(2α−2φ). TheDC bias of y may be ignored because the curve fitting algorithm uses aleast squares method.

When the curve fitting algorithm is y=−A cos(2α−2φ), and each measuringcurrent phase is defined as (α₁, α₂, α₃, . . . α_(N),), the modelequation is shown as follows:

$\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack = {{- \begin{bmatrix}{A\; {\cos \left( {{2\alpha_{1}} - {2\; \phi}} \right)}} \\{A\; {\cos \left( {{2\alpha_{2}} - {2\; \phi}} \right)}} \\\vdots \\{A\; {\cos \left( {{2\alpha_{N}} - {2\; \phi}} \right)}}\end{bmatrix}} = {{- \begin{bmatrix}{{A\; {\cos \left( {2\alpha_{1}} \right)}{\cos \left( {2\; \phi} \right)}} + {A\; {\sin \left( {2\alpha_{1}} \right)}{\sin \left( {2\; \phi} \right)}}} \\{{A\; {\cos \left( {2\alpha_{2}} \right)}{\cos \left( {2\; \phi} \right)}} + {A\; {\sin \left( {2\alpha_{2}} \right)}{\sin \left( {2\; \phi} \right)}}} \\\vdots \\{{A\; {\cos \left( {2\alpha_{N}} \right)}{\cos \left( {2\; \phi} \right)}} + {A\; {\sin \left( {2\alpha_{N}} \right)}{\sin \left( {2\; \phi} \right)}}}\end{bmatrix}} = {\quad{\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{1}} \right)}} \\{- {\cos \left( {2\alpha_{2}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} \\\vdots & \vdots \\{- {\cos \left( {2\alpha_{N}} \right)}} & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}\begin{bmatrix}{{Acos}\left( {2\; \phi} \right)} \\{{Asin}\left( {2\; \phi} \right)}\end{bmatrix}}}}}$

The above equation may be written as Y=GP, where:

$\begin{matrix}{{Y = {{\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack \mspace{14mu} G} = \begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{1}} \right)}} \\{- {\cos \left( {2\alpha_{2}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} \\\vdots & \vdots \\{- {\cos \left( {2\alpha_{N}} \right)}} & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}}}{P = \begin{bmatrix}{{Acos}\left( {2\; \phi} \right)} \\{{Asin}\left( {2\; \phi} \right)}\end{bmatrix}}} & \left( {{{Eq}.\mspace{11mu} 3}B} \right)\end{matrix}$

If measurement error E is added, the equation may be written as Y=GP+Eor E=Y−GP. The least squares method finds the solution to P which givesthe extremum of square norm of E, as follows:

$\begin{matrix}{{E}^{2} = {{E^{*} \cdot E} = {{\left( {Y^{*} - {P^{*}G^{*}}} \right) \cdot \left( {Y - {GP}} \right)} = {{{Y^{*}Y} - {Y^{*}{GP}} - {P^{*}G^{*}Y} + {P^{*}G^{*}{GP}}} = {{{Y^{*}Y} - {2Y^{*}{GP}} + {P^{*}G^{*}{GP}}}\mspace{79mu} {{\frac{\partial}{\partial P}{E}^{2}} = {{{{- 2}Y^{*}G} + {2P^{*}G^{*}G}} = 0}}\mspace{20mu} {{Y^{*}G} = {P^{*}G^{*}G}}\mspace{20mu} {P^{*} = {Y^{*}{G\left( {G^{*}G} \right)}^{- 1}}}\mspace{20mu} {P = {\left( {G^{*}G} \right)^{- 1}G^{*}Y}}\mspace{20mu} {P = {G^{+}Y}}}}}}} & \left( {{{Eq}.\mspace{11mu} 4}B} \right)\end{matrix}$

Where:

Y*, P*, G*; adjoint matrix

G⁺=(G*G)⁻¹G*; pseudo-inverse matrix

If G⁺ is found by what Eq. 3B is assigned to Eq. 4B, then P may befound.

  P = G⁺Y   P = (G^(T)G)⁻¹G^(T)Y;$G^{T} = {{G^{*}\mspace{14mu} {since}\mspace{14mu} G\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {number}} = {{{\left( {\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\cos \left( {2\alpha_{2}} \right)}} & \ldots & {- {\cos \left( {2\alpha_{N}} \right)}} \\{- {\sin \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} & \ldots & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{1}} \right)}} \\{- {\cos \left( {2\alpha_{2}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} \\\vdots & \vdots \\{- {\cos \left( {2\alpha_{N}} \right)}} & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}} \right)^{- 1}\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\cos \left( {2\alpha_{2}} \right)}} & \ldots & {- {\cos \left( {2\alpha_{N}} \right)}} \\{- {\sin \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} & \ldots & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}}\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack} = {\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}} & {\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}{\cos \left( {2\alpha_{i}} \right)}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}{\cos \left( {2\alpha_{i}} \right)}}} & {\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}\end{bmatrix}}}}}$

The term of Σ_(i=1) ^(N) sin (2α_(i))cos(2α_(i)) must be zero becauseα_(i) is the same interval and is within just one period of the modelequation, so the equation becomes:

$\begin{matrix}{= {{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}\end{bmatrix}} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}}}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}}\end{bmatrix}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}\end{bmatrix} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}}}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {\left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {\left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}\end{bmatrix} = {\quad{\begin{bmatrix}\frac{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}} \\\frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}}\end{bmatrix} = \begin{bmatrix}{A\; {\cos \left( {2\phi} \right)}} \\{A\; {\sin \left( {2\phi} \right)}}\end{bmatrix}}}}}}}}}}}}} & \left( {{{Eq}.\mspace{11mu} 5}B} \right)\end{matrix}$

Therefore, φ is given as follows:

$\begin{matrix}{{2\phi} = {\tan^{- 1}\frac{A\; {\sin \left( {2\phi} \right)}}{A\; {\cos \left( {2\phi} \right)}}}} & \left( {{{Eq}.\mspace{11mu} 6}B} \right)\end{matrix}$

And:

A=√{square root over ((A cos(2φ))²+(A sin(2φ))²)}

When the model equation is y=A cos(2α−2φ) each measuring current phaseis defined as (α₁, α₂, α₃, . . . α_(N),), and the model equation isshown as follows:

$\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix} = {\begin{bmatrix}{A\; {\cos \left( {{2\alpha_{1}} - {2\phi}} \right)}} \\{A\; {\cos \left( {{2\alpha_{2}} - {2\phi}} \right)}} \\\vdots \\{A\; {\cos \left( {{2\alpha_{N}} - {2\phi}} \right)}}\end{bmatrix} = {\quad{\begin{bmatrix}{{A\; {\cos \left( {2\alpha_{1}} \right)}{\cos \left( {2\phi} \right)}} + {A\; {\sin \left( {2\alpha_{1}} \right)}{\sin \left( {2\phi} \right)}}} \\{{A\; {\cos \left( {2\alpha_{2}} \right)}{\cos \left( {2\phi} \right)}} + {A\; {\sin \left( {2\alpha_{2}} \right)}{\sin \left( {2\phi} \right)}}} \\\vdots \\{{A\; {\cos \left( {2\alpha_{N}} \right)}{\cos \left( {2\phi} \right)}} + {A\; {\sin \left( {2\alpha_{N}} \right)}{\sin \left( {2\phi} \right)}}}\end{bmatrix} = {\quad{\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{1}} \right)} \\{\cos \left( {2\alpha_{2}} \right)} & {\sin \left( {2\alpha_{2}} \right)} \\\vdots & \vdots \\{\cos \left( {2\alpha_{N}} \right)} & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}{\quad\begin{bmatrix}{A\; {\cos \left( {2\phi} \right)}} \\{A\; {\sin \left( {2\phi} \right)}}\end{bmatrix}}}}}}}$

The above equation may be written as Y=GP, where:

$\begin{matrix}{Y = {{\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix}\mspace{14mu} G} = {\quad{{\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{1}} \right)} \\{\cos \left( {2\alpha_{2}} \right)} & {\sin \left( {2\alpha_{2}} \right)} \\\vdots & \vdots \\{\cos \left( {2\alpha_{N}} \right)} & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}\mspace{14mu} P} = \begin{bmatrix}{A\; {\cos \left( {2\phi} \right)}} \\{A\; {\sin \left( {2\phi} \right)}}\end{bmatrix}}}}} & \left( {{{Eq}.\mspace{14mu} 3}C} \right)\end{matrix}$

If measurement error E is added, the equation may be written as Y=GP+Eor E=Y−GP. The least squares method finds the solution to P which givesthe extremum of square norm of E, as follows:

$\begin{matrix}{{E}^{2} = {{E^{*} \cdot E} = {{\left( {Y^{*} - {P^{*}G^{*}}} \right) \cdot \left( {Y - {GP}} \right)} = {{{Y^{*}Y} - {Y^{*}{GP}} - {P^{*}G^{*}Y} + {P^{*}G^{*}{GP}}} = {{{Y^{*}Y} - {2Y^{*}{GP}} + {P^{*}G^{*}{GP}}}\mspace{20mu} {{\frac{\partial}{\partial P}{E}^{2}} = {{{{- 2}Y^{*}G} + {2P^{*}G^{*}G}} = 0}}\mspace{20mu} {{Y^{*}G} = {P^{*}G^{*}G}}\mspace{20mu} {P^{*} = {Y^{*}{G\left( {G^{*}G} \right)}^{- 1}}}\mspace{20mu} {P = {\left( {G^{*}G} \right)^{- 1}G^{*}Y}}\mspace{20mu} {P = {G^{+}Y}}}}}}} & \left( {{{Eq}.\mspace{14mu} 4}C} \right)\end{matrix}$

Where:

Y*, P*, G*; adjoint matrix

G⁺=(G*G)⁻¹G*; pseudo-inverse matrix

If G⁺ is found by what Eq. 3C is assigned to Eq. 4C, then P may befound.

  P = G⁺Y   P = (G^(T)G)⁻¹G^(T)Y;$G^{T} = {{G^{*}\mspace{14mu} {since}\mspace{14mu} G\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {number}} = {\left( {\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\cos \left( {2\alpha_{2}} \right)} & \ldots & {\cos \left( {2\alpha_{N}} \right)} \\{\sin \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{2}} \right)} & \ldots & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{1}} \right)} \\{\cos \left( {2\alpha_{2}} \right)} & {\sin \left( {2\alpha_{2}} \right)} \\\vdots & \vdots \\{\cos \left( {2\alpha_{N}} \right)} & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}} \right)^{- 1}{\quad{{\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\cos \left( {2\alpha_{2}} \right)} & \ldots & {\cos \left( {2\alpha_{N}} \right)} \\{\sin \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{2}} \right)} & \ldots & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack} = {\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}} & {\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}{\sin \left( {2\alpha_{i}} \right)}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}{\cos \left( {2\alpha_{i}} \right)}}} & {\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}\end{bmatrix}}}}}}}$

The term of Σ_(i=1) ^(N) sin(2α_(i))cos(2α_(i)) must be zero becauseα_(i) is the same interval and is within just one period of the modelfunction, so the equation becomes:

$\begin{matrix}{= {{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}\end{bmatrix}} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}}}}{\quad{{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}}\end{bmatrix}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}\end{bmatrix}} = {\frac{1}{\sum\limits_{i = 1}^{N}\; {\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}}}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {\left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2} \times}} & {\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}\end{bmatrix} = {\quad{\begin{bmatrix}\frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}} \\\frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; \left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}}\end{bmatrix} = \begin{bmatrix}{A\; {\cos \left( {2\phi} \right)}} \\{A\; {\sin \left( {2\phi} \right)}}\end{bmatrix}}}}}}}}}}} & \mspace{11mu} & \left( {{{Eq}.\mspace{14mu} 5}C} \right)\end{matrix}$

Therefore, φ is given as follows:

${2\phi} = {\tan^{- 1}\frac{A\; {\sin \left( {2\phi} \right)}}{A\; {\cos \left( {2\phi} \right)}}}$

Therefore, when the model equation is y=−A cos(2α−2φ) the followingalgorithms may be used:

$\begin{matrix}{{{A\; {\cos \left( {2\phi} \right)}} = \frac{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}}{3}}\mspace{11mu} \; {{A\; {\sin \left( {2\phi} \right)}} = \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{3}}\mspace{11mu} {{2\phi} = {{\tan^{- 1}\left( \frac{A\; {\sin \left( {2\phi} \right)}}{A\; {\cos \left( {2\phi} \right)}} \right)} = {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)}}}} & \left( {{{Eq}.\mspace{14mu} 7}A} \right)\end{matrix}$

And when the model equation is y=A cos(2α−2φ) the following algorithmsmay be used:

$\begin{matrix}{{{A\; {\cos \left( {2\phi} \right)}} = {{\frac{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}}{3}\mspace{14mu} A\; {\sin \left( {2\phi} \right)}} = \frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{3}}}\mspace{11mu} {{2\phi} = {{\tan^{- 1}\left( \frac{A\; {\sin \left( {2\phi} \right)}}{A\; {\cos \left( {2\phi} \right)}} \right)} = {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\; {{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)}}}} & \left( {{{Eq}.\mspace{14mu} 7}B} \right)\end{matrix}$

The following procedure is used to determine θ since the model equationis a trigonometric function with double angle variable.

$\begin{matrix}{\theta_{a} = {\phi - \delta}} & \left( {{Eq}.\mspace{14mu} 8} \right) \\{\theta_{b} = \left\{ \begin{matrix}{{\theta_{a} + \pi},} & {\theta_{a} < 0} \\{\theta_{a},} & {\theta_{a} \geq 0}\end{matrix} \right.} & \left( {{Eq}.\mspace{14mu} 9} \right) \\{\theta = \left\{ \begin{matrix}{\theta_{b},} & \; & {{- \frac{\pi}{3}} < \tau < {+ \frac{\pi}{3}}} \\{{\theta_{b} + \pi},} & {{\tau < {- \frac{\pi}{3}}},} & {\tau > {+ \frac{\pi}{3}}}\end{matrix} \right.} & \left( {{Eq}.\mspace{14mu} 10} \right)\end{matrix}$

Where

  τ_(a) = θ_(b) − α_(k) $\alpha_{k} = \left\{ {{\begin{matrix}{{\alpha_{i}\mspace{14mu} {which}\mspace{14mu} {gives}\mspace{14mu} {the}\mspace{14mu} {least}\mspace{14mu} y_{i}},{{{model}\mspace{14mu} {equation}\mspace{14mu} y} = {{- A}\; {\cos\left( {{2\alpha} - {2\phi}} \right)}}}} \\{{\alpha_{i}\mspace{14mu} {which}\mspace{14mu} {gives}\mspace{14mu} {the}\mspace{14mu} {largest}\mspace{14mu} y_{i}},{{{model}\mspace{14mu} {equation}\mspace{14mu} y} = {A\; {\cos\left( {{2\alpha} - {2\phi}} \right)}}}}\end{matrix}\mspace{20mu} \tau} = \left\{ \begin{matrix}{\tau_{a},} & {\tau_{a} > {- \left( {{\frac{7}{6}\pi} + \delta} \right)}} \\{{\tau_{a} + {2\pi}},} & {\tau_{a} < {- \left( {{\frac{7}{6}\pi} + \delta} \right)}}\end{matrix} \right.} \right.$

Equation 7A or 7B and Equations 8-10 are then used for the actualoperation. For example, referring now to FIG. 18, a representativeexample of a system for sensing rotor position of a motor (system) 46 isgiven. System 46 is coupled with a PMSM having a star configuration, andis in many ways similar to system 22 described previously, except thatlogic elements 47 are configured specifically to perform the operationsof Equations 7A/7B and Equations 8-10. As previously described, the PMSMhas a star configuration and voltage pulses may be used and then a timemeasured (Tmes) or a current measured (Imes) in order to determine theposition of the rotor.

The multiplexer 34 is accordingly identical to that previously describedand allows the measured values y_(i) (whether Tmes or Imes values) to bepassed through to logic elements 47 so that the position of the rotor ofthe PMSM may be calculated. The α_(i) values shown in FIG. 18 are−cos(2α_(i)) or cos(2α_(i)) and the b_(i) values shown in FIG. 18 aresin(2α_(i)) or −sin(2α_(i)) depending on which mode is being used(current or time measurement). The value of α_(i) may also be describedas being equal to π/6+δ+(i−1)(π/3). The value of i is greater than orequal to 1 and less than or equal to N (as described, in someimplementations i=1, 2, 3, 4, 5, 6). Summations are performed by logicelements 47 as indicated by Equation 7A/7B. The φ value is calculatedusing Equation 7A/7B and the δ value is subtracted therefrom to obtainthe θ_(a) value as indicated by Equation 8. The θ_(b) value is thencalculated from the θ_(a) value using Equation 9. The θ value is thencalculated from the θ_(b) value using Equation 10. System 46, similar tosystem 22, is thus used with a non-vector-control PMSM.

FIG. 18 gives labels to some of the previously described signals, whichalso apply to FIG. 17. The Mes_sel is the mode selection signal which iscommunicated from the main state controller to the multiplexer 34 todetermine whether to allow Tmes or Imes signals to pass through(depending on which is being measured, the time or the current). TheMode_sel signal is communicated from the main state controller to themultiplexer 36 to switch between normal operation and initial rotorsensor position sensing operation. The Mes_pls signal is a measuringpulse signal to perform the position sensing. In implementations theMes_pls signal could itself be the voltage pulse though in otherimplementations it is only a signal used to effectuate the voltagepulse. TIM_cnt is a control signal from the signal processor 44 to thetimer to start/stop the timer. ADC_cnt is a control signal for the ADCto communicate the Imes value to the logic elements (and the Im value tothe normal drive signal processor). CMP_out is the comparator outputwhich is communicated to signal processor 44 and to the main statecontroller. θ_(ini) represents the initial rotor position as calculatedby the system.

FIG. 19 shows a representative example of a system for sensing rotorposition of a motor (system) 48 that is similar to system 46 exceptconfigured for vector control. An additional amplifier and ADC elementare included so that two motor current signals Iv and Iu are sent to thenormal drive signal processor for vector control. Thus AMP 50 and AMP 52are both coupled with the single shunt resistor Rs. The output from AMP50 is communicated to the comparator for Tmes measuring (for when Tmesmode is used) and the output from AMP 50 is also communicated to the ADC54 which is converted to a digital signal and then sent to the normaldrive signal processor as signal Iu for vector control. Additionally,the output from ADC 54 is communicated to multiplexer 34 but is onlypassed through to the logic elements 47 if the main state controller hasswitched the multiplexer to Imes mode. The ADC 54 output is communicatedto the multiplexer 34 and to the normal drive signal processor whencontrolled to do so by the signal processor 44 using the ADC_cnt signal.AMP 52 communicates an analog signal to ADC 56 and ADC 56 coverts thisto a digital signal and forwards it to the normal drive signal processoras signal Iv for vector control. The CMP_out signal is forwarded to boththe signal processor 44 and to the main state controller. The normaldrive signal processor thus uses the initial rotor position signalθ_(ini) and the vector control current signals Iv and Iu to optimallyincrease, maintain, or decrease the speed of the rotor of the PMSM asdesired.

FIG. 20 shows an implementation of a system for sensing rotor positionof a motor (system) 58 that is in many ways similar to system 48, exceptthat the three-phase inverter has a different configuration and threeshunt resistors Rsu, Rsv, and Rsw are used for rotor positionmeasurement. The three-phase inverter of FIG. 20 has the configurationof three-phase inverter 130 of FIG. 25. The same signals are used tocontrol the same switches, as previously described with respect tothree-phase inverter 128, but three shunt resistors are coupledtherewith as seen: Rsu, Rsv, and Rsw.

Additional amplifiers and multiplexers are used, and the main statecontroller is used to control the additional multiplexers. AMP 60 iscoupled across Rsw, AMP 62 is coupled across Rsv, and AMP 64 is coupledacross Rsu. Multiplexer 66 determines whether the signal from AMP 60 orfrom AMP 62 is forwarded, and multiplexer 68 determines whether thesignal from multiplexer 66 or from AMP 64 is forwarded. Furthermore, theoutput from multiplexer 66 is communicated to ADC 70, which iscontrolled by signal processor 44 to send the Iv signal to the normaldrive signal processor and to multiplexer 74. The output from AMP 64 iscommunicated to ADC 72 which forwards a converted digital signal Iu tothe normal drive signal processor and to multiplexer 74.

The Ph_sel signal is a shunt resistor selection signal and is used todetermine which shunt resistors are used in the Tmes or Imesmeasurement. For example, assuming the top input of each multiplexercorresponds with a 1 position and the bottom input corresponds with a 0position, if the Ph_sel signal is a 1 then multiplexer 66 will forward aTmes or Imes value corresponding with Rsw to multiplexer 68 and thenthis value will be further forwarded to the comparator and to ADC 70,and from there to multiplexer 34 and it will also be forwarded as the Ivsignal to the normal drive signal processor. Additionally, AMP 64 willforward an amplified signal corresponding with a Tmes or Imes valuerelated to Rsu to the normal drive signal processor as an Iu signal.Thus, in this case, The Rsw and Rsu shunt resistors are used formeasurement (whether it is Tmes or Imes measurement).

On the other hand, if the Ph_sel signal is a 0 then multiplexer 66 willforward a Tmes or Imes value corresponding with Rsv to multiplexer 68but multiplexer 68 will forward the Tmes or Imes value correspondingwith Rsu to the comparator. The Rsv Tmes or Imes value will be forwardedto ADC 70 and will be used to generate Iv, and the Rsu Tmes or Imesvalue will also be forwarded to ADC 72 and from there to multiplexer 74and onward to multiplexer 34, and it will also be forwarded to thenormal drive signal processor as signal Iu. Thus, in this case, shuntresistors Rsv and Rsu are used for measurement (whether it is Tmes orImes measurement). In either case, the normal drive signal processoruses the received θ_(ini) value for rotor position and Iv and Iu valuesfor vector control. The PMSM is again, as with the other examples, aPMSM having a star configuration and could be an SPMSM or an IPMSM. TheCMP_out signal is forwarded to both the signal processor 44 and to themain state controller.

In other implementations other elements and configurations may be usedso that, for example, any of the shunt resistors Rsu, Rsv, or Rsw may beused for the comparator and timing measurements (Tmes) and/or currentmeasurements (Imes).

Furthermore, the main state controller may be used to control the signalprocessor 44 and/or the normal drive signal processor to select whichswitches of the three-phase inverter are on or off to accomplish thedesired current vector. For example, referring to FIG. 25, if the uvcurrent vector is needed, Q1H and Q2L are turned on, and all otherswitches are turned off, the current is shown as the Rsv voltage. Otherconfigurations will result in the Rsu or Rsw voltage and in the wu, wv,uw, vw, and vu current vectors.

FIG. 21 shows a representative example of a system for sensing rotorposition of a motor (system) 76 that is in many ways similar to system58 except that amplifiers 60 and 62 before multiplexer 66 are replacedby a single amplifier (AMP) 78 after multiplexer 82. Thus, one lessamplifier is used, but the signal selection and forwarding is asdescribed above for system 58. Multiplexer 82 forwards either a Tmes orImes signal corresponding with Rsw or Rsv, and this is amplified usingAMP 78 on one line and on another line is forwarded to ADC 86. AMP 80amplifies a Tmes or Imes signal corresponding with Rsu and forwards itto multiplexer 84 and ADC 88. Multiplexer 90 forwards either the inputfrom ADC 86 or ADC 88 to multiplexer 34. Except for the placement of oneamplifier after a multiplexer instead of two amplifiers after thatmultiplexer, the operation of the elements of system 76 is similar oridentical to similarly situated elements of system 58. The CMP_outsignal is forwarded to both the signal processor 44 and to the mainstate controller. System 76 is thus used for rotor position measurementor calculation of a vector-controlled star configuration PMSM (whetherSPMSM or IPMSM).

FIG. 22 shows a representative example of a system for sensing rotorposition of a motor (system) 92 which is in many respects similar tosystem 76 except that ADC 88 and multiplexer 90 may be replaced with asingle sample and hold element (S/H) 106 and analog multiplexer (AMUX)108. The S/H and AMUX elements may be included in a single logic elementor unit or may be a plurality of elements. Thus AMP 94 receives a signalfrom multiplexer 98 and forwards it to multiplexer 100 as well as to S/H106/AMUX 108. AMP 96 forwards a signal to multiplexer 100 as well as toS/H 106/AMUX 108. ADC 102 forwards signals from S/H 106/AMUX 108 tomultiplexer 34 and to the normal drive signal processor. The same lineis thus used to communicate the signals Iu, Iv to the normal drivesignal processor. Except for the replacement of one multiplexer and oneADC with the combined S/H/AMUX element and the removal of onecommunication line to the normal drive signal processor, the operationsof the elements of system 92 are similar or identical to similarlysituated elements of system 76. The CMP_out signal is forwarded to boththe signal processor 44 and to the main state controller. The Ph_selsignal is used to control the S/H 106, AMUX 108, multiplexer 100 andmultiplexer 98. System 92 is thus used for rotor position measurement orcalculation of a vector-controlled star configuration PMSM (whetherSPMSM or IPMSM).

FIG. 23 shows a representative example of a system for sensing rotorposition of a motor (system) 110 that is in many ways identical tosystem 92, except that there are again three AMPs as in previousexamples instead of having one AMP after a multiplexer. Thus multiplexer118 receives signals from AMP 112 and AMP 114 and forwards one of theseto multiplexer 120, while the outputs from AMPs 112 and 114 are alsoboth communicated to stated hold element (S/H) 124/analog multiplexer(AMUX) 126. The output from AMP 116 is communicated to multiplexer 120and also to S/H 124/AMUX 126. The output from S/H 124/AMUX 126 isforwarded to ADC 122. Except for the addition of one AMP and therelocation of one multiplexer after two AMPS instead of before one AMP,the operations of the elements of system 110 are similar or identical tosimilarly situated elements of system 92. The CMP_out signal isforwarded to both the signal processor 44 and to the main statecontroller. The Ph_sel signal is used to control the S/H 124, AMUX 126,multiplexer 120 and multiplexer 118. System 110 is thus used for rotorposition measurement or calculation of a vector-controlled starconfiguration PMSM (whether SPMSM or IPMSM).

FIG. 26 shows a flow chart representing a method for sensing rotorposition of a motor (method) 132 which may be used to sense or calculatethe rotor position of a star-configuration vector-controlled ornon-vector controlled PMSM (whether an SPMSM or IPMSM). The flow chartmethod representatively illustrates a method which utilizes the Tmesmeasuring (a similar flowchart with some variations could be shown forImes measuring). A comparator threshold value is set (to determine whenthe Ic value is reached for Tmes measuring or to determine when Imespeaks for Imes measuring) and the first y_(i) measurement y₁ is done tomeasure Tmes corresponding with the wu current vector. This measurementcorresponds with i=1. A second y_(i) measurement y₂ is done to measureTmes corresponding with the wv current vector, which measurementcorresponds with i=2. A third measurement y₃ is done to measure Tmescorresponding with the uv current vector, which measurement correspondswith i=3. A fourth measurement y₄ is done to measure Tmes correspondingwith the uw current vector, which measurement corresponds with i=4. Afifth measurement y₅ is done to measure Tmes corresponding with the vwcurrent vector, which measurement corresponds with i=5. A sixthmeasurement y₆ is done to measure Tmes corresponding with the vu currentvector, which measurement corresponds with i=6. In an Imes example theImes values corresponding with each current vector could instead bemeasured.

Position is then done using Equation 7A or Equation 7B (depending onwhether Tmes or Imes was measured—in this case Tmes was measured) andthen Equations 8-10 are used to calculate the rotor position as has beendescribed previously.

FIG. 27 representatively illustrates a method for measuring time values(method) 134 that is a portion of each y_(i) measuring step of FIG. 26.The timer is cleared and then the three-phase inverter output isswitched to correspond with the Ph_sel signal to select either the wu,wv, uv, uw, vw, or vu current vector. The timer is then started. A waittime occurs until the comparator outputs a signal indicative that acurrent level Ic has been reached, at which point the timer is stopped.The three-phase inverter output is turned off (i.e., the end of thevoltage pulse) and the measured Tmes value is the measured value y_(i).A wait period then occurs to ensure full decay of the stator coilenergy, after which the process may be started again. Although thecurrent vectors are measured in this representative example in aspecific order, in other implementations they could be measured in otherorders.

A method similar to method 134, but for measuring Imes, could includeutilizing the comparator to determine when to control one or more ADCsto forward an Imes signal to the multiplexer 34 for processing. Forexample, the comparator may determine when a current peaks and, at thattime, may signal the signal processor 44 to control the ADC to forward asignal to multiplexer 34. This may be done for each current vector wu,wv, uv, uw, vw, and vu as described above for Tmes measuring.

In implementations of systems for sensing rotor position of a motor thetimer and/or comparator may also be used, such as in conjunction withsignal processor 44 and/or one or more ADCs, to provide the voltagepulses. In implementations the shunt voltages, or in other words thevoltages across shunt resistors, are measured voltages or are referencevoltages used in determining the position of a rotor. In implementationsthe rotor position is sensed or calculated without directly sensing thespeed or position of the rotor (as with all examples described herein).

Systems described herein for sensing rotor position of a motor do notneed to apply high frequency voltages for sensing rotor position (forexample a frequency lower than the actual operation frequency of themotor may be used) and may have little random noise. Because systemsdescribed herein are capable of being used both with vector control andnon-vector control motors, they may be applied to legacy motor systems.When applied to non-vector control motors there may not need to be anycoordinate transformation function(s) performed by the system. Thesystems may sense rotor position with very few calculations, as has beenshown herein.

Systems described herein may be able to detect accuracy within less thana 30-degree electric angle, and sample and hold (S/H) elements, asshown, may or may not be used depending on the configuration used.Measuring currents do not need to be large, and no waveform data needsto be stored in memory in advance. Back electromotive force (BEMF) isnot needed to be used by the systems described herein to determine theposition of the rotor. Systems described herein may be used for reliableand silent startup of a motor, as a sinusoidal drive will have propervector currents applied right from the startup phase. Systems describedherein may allow sensor-less rotor drivers to be used with electric fansand similar elements because rotor shaking at startup may be eliminated.Systems described herein may increase product reliability by makingmotor startup more robust.

Descriptions and math related specifically to PMSMs with a deltaconfiguration will now be given. Referring now to FIG. 28, various axesmay be defined. The vu-axis, vw-axis, and wu-axis are stationary axeshaving axes aligned with corresponding stator cores. The a-axis is astationary axis parallel to the vu-axis and the b-axis is the quadratureof the a-axis (in other words 90 degrees offset from the a-axis). Theη-axis is a stationary axis having a phase difference of δ from thea-axis, and the ξ-axis is the quadrature of the η-axis. The d-axis is onan axis of the rotor magnetic flux and the q-axis is the quadrature ofthe d-axis (these are rotating axes). The θ angle is the phasedifference between the a-axis and the d-axis. The rotor position in thisrepresentative example is defined as 0 degrees when the vu-axis isparallel with the d-axis. The φ angle is θ+δ. The north and south poles(N/S) of the permanent magnet of the PMSM rotor may be seen at thecenter of the figure.

The descriptions above with respect to the d-axis and q-axis inductanceof IPMSMs and SPMSMs apply, namely, that d-axis inductance is smallerthan q-axis inductance. FIGS. 29A-29B show rotor magnetic fluxdistribution and rotor position of an IPMSM which applies to an IPMSMhaving a delta configuration, and the distribution shows an approximatesinusoidal waveform completing one cycle with one electric anglerotation of the rotor. FIGS. 30A-30B show rotor permeability and rotorposition of an IPMSM having a delta configuration, and the distributionshows an approximately sinusoidal waveform completing two cycles withone electric angle rotation of the rotor. Although flux distribution androtor position of an SPMSM having a delta configuration are not shown,the reader may envision how these would differ from those of an IPMSMbased on differences between the SPMSM and IPMSM graphs of previousfigures related to motors having star configurations.

As described previously, vu means the current vector phase in which theenergization is performed with direction from the v-terminal to theu-terminal, uv means energization is performed with direction from theu-terminal to the v-terminal, and vw, wv, wu, and uw are similarlydefined.

FIG. 31 shows an example of an SPMSM where the rotor position is at 0degrees. In this position, when the vu-current vector is input, thestator inductance is expected to be smallest due to the magneticsaturation characteristics, and when the uv-current vector is input theinductance is expected to be second smallest. FIG. 32 shows an exampleof an IPMSM where the rotor position is at 0 degrees. When thevu-current vector is input the inductance is expected to be smallest dueto the μ distribution and the magnetic saturation characteristics. Whenthe uv-current vector is input the inductance is expected to be secondsmallest. The inductance distribution may be represented as asuperimposed distribution of and the magnetic saturationcharacteristics, and the inductance distribution is seen to have adouble frequency of the flux distribution.

Rotor position estimation specifically for a PMSM having a deltaconfiguration is done using the following assumptions: rotor magneticflux has a sinusoidal waveform even if there is some distortion;inductance distribution has double the frequency of the fluxdistribution; the phase of the sinusoidal waveform will indicate rotorposition, and; although the inductance distribution shows doublefrequency of the magnetic flux distribution, magnetic saturationcharacteristics solve double function issues. The sinusoidal waveform isestimated by curve fitting.

For the delta configuration the relation between the energizationpatterns vu, vw, uw, uv, wv, and wu are defined as: α₁=vu, α₂=vw, α₃=uw,α₄=uv, α₅=wv, α₆=wu. Accordingly, α_(i) is the energization currentvector phase and has intervals of π/3. As shown in FIG. 28 and FIGS.29A-30B, when α_(i) is defined on the ab-axis the α_(i) values are asfollows: α₁=0, α₂=π/3, α₃=2π7/3, α₄=π, α₅=4π/3, α₆=5π/3. They thereforerange between 0-2π (or 0-5π/3).

When 2α_(i) is zero or an integral multiple of π/2, the value of thesine or cosine function becomes zero. To avoid this, the ηξ-coordinatesystem and φ are introduced. As described above:

φ=θ+δ  (Eq. 1D)

Accordingly, estimating operations are initially performed on theηξ-coordinate system and afterwards θ is calculated using φ and δ.Therefore, α_(i) is biased with δ and is defined as follows:

$\begin{matrix}{\alpha_{i} = {\delta + {\frac{\pi}{3}\left( {i - 1} \right)}}} & \left( {{{Eq}.\mspace{14mu} 2}D} \right)\end{matrix}$

Where i=1, 2, 3, 4, 5, or 6 (though in other implementations more thansix values could be used). The term δ is set to avoid the conditionwhere 2α_(i) becomes an integral multiple of π/2 or zero (for examplesetting δ equal to π/24 works). FIGS. 33-35 show the relationshipbetween inductance (L), Tmes, Imes, and the measuring data (or measuredvalues) y_(i). FIG. 33 representatively illustrates an assumedinductance (L) waveform of a delta-configuration PMSM generated usingmeasured values y₁ through y₆. FIG. 34 representatively illustrates anassumed time value (Tmes) waveform of a delta-configuration PMSMgenerated using measured values y₁ through y₆. FIG. 35 representativelyillustrates an assumed current value (Imes) waveform of adelta-configuration PMSM generated using measured values y₁ through y₆.

The below math is based on a least squares method. When the measuring isperformed using Tmes based on FIGS. 29A-30B, the model equation is givenas y=−A cos(2α−2φ) where A is amplitude, y is measured data or ameasured value, α is measuring current vector phase on the ηξ-coordinatesystem, and φ is the phase, which indicates the rotor position on theηξ-coordinate system. If α and y are known, then the equation is solvedby finding the solution to A and φ. On the other hand, if measuring isperformed with Imes, the model equation is given as y=A cos(2α−2φ). TheDC bias of y may be ignored because the curve fitting algorithm uses aleast squares method.

When the curve fitting algorithm is y=−A cos(2α−2φ), and each measuringcurrent phase is defined as (α₁, α₂, α₃, . . . α_(N),), the modelequation is shown as follows:

$\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix} = {{- \begin{bmatrix}{A\; {\cos \left( {{2\alpha_{1}} - {2\phi}} \right)}} \\{A\; {\cos \left( {{2\alpha_{2}} - {2\phi}} \right)}} \\\vdots \\{A\; {\cos \left( {{2\alpha_{N}} - {2\phi}} \right)}}\end{bmatrix}} = {- {\quad{\begin{bmatrix}{{A\; {\cos \left( {2\alpha_{1}} \right)}{\cos \left( {2\phi} \right)}} + {A\; {\sin \left( {2\alpha_{1}} \right)}{\sin \left( {2\phi} \right)}}} \\{{A\; {\cos \left( {2\alpha_{2}} \right)}{\cos \left( {2\phi} \right)}} + {A\; {\sin \left( {2\alpha_{2}} \right)}{\sin \left( {2\phi} \right)}}} \\\vdots \\{{A\; {\cos \left( {2\alpha_{N}} \right)}{\cos \left( {2\phi} \right)}} + {A\; {\sin \left( {2\alpha_{N}} \right)}{\sin \left( {2\phi} \right)}}}\end{bmatrix} = {\quad{\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{1}} \right)}} \\{- {\cos \left( {2\alpha_{2}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} \\\vdots & \vdots \\{- {\cos \left( {2\alpha_{N}} \right)}} & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}{\quad\begin{bmatrix}{A\; {\cos \left( {2\phi} \right)}} \\{A\; {\sin \left( {2\phi} \right)}}\end{bmatrix}}}}}}}}$

The above equation may be written as Y=GP, where:

$\begin{matrix}{Y = {{\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix}\mspace{14mu} G} = {\quad{{\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{1}} \right)}} \\{- {\cos \left( {2\alpha_{2}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} \\\vdots & \vdots \\{- {\cos \left( {2\alpha_{N}} \right)}} & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}\mspace{14mu} P} = \begin{bmatrix}{A\; {\cos \left( {2\phi} \right)}} \\{A\; {\sin \left( {2\phi} \right)}}\end{bmatrix}}}}} & \left( {{{Eq}.\mspace{14mu} 3}D} \right)\end{matrix}$

If measurement error E is added, the equation may be written as Y=GP+Eor E=Y−GP. The least squares method finds the solution to P which givesthe extremum of square norm of E, as follows:

$\begin{matrix}{{{E}^{2} = {{E^{*} \cdot E} = {{\left( {Y^{*} - {P^{*}G^{*}}} \right) \cdot \left( {Y - {GP}} \right)} = {{{Y^{*}Y} - {Y^{*}{GP}} - {P^{*}G^{*}Y} + {P^{*}G^{*}{GP}}} = {{Y^{*}Y} - {2Y^{*}{GP}} + {P^{*}G^{*}{GP}}}}}}}\mspace{20mu} {{\frac{\partial}{\partial P}{E}^{2}} = {{{{- 2}Y^{*}G} + {2P^{*}G^{*}G}} = 0}}\mspace{20mu} {{Y^{*}G} = {P^{*}G^{*}G}}\mspace{20mu} {P^{*} = {Y^{*}{G\left( {G^{*}G} \right)}^{- 1}}}\mspace{20mu} {P = {\left( {G^{*}G} \right)^{- 1}G^{*}Y}}\mspace{20mu} {P = {G^{+}Y}}} & \left( {{{Eq}.\mspace{14mu} 4}D} \right)\end{matrix}$

Where:

Y*, P*, G*; adjoint matrix

G⁺=(G*G)⁻¹G*; pseudo-inverse matrix

If G* is found by what Eq. 3D is assigned to Eq. 4D, then P may befound.

  P = G⁺Y  P = (G^(T)G)⁻¹G^(T)Y;$G^{T} = {{G^{*}\mspace{14mu} {since}\mspace{14mu} G\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {number}} = {\left( {\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\cos \left( {2\alpha_{2}} \right)}} & \ldots & {- {\cos \left( {2\alpha_{N}} \right)}} \\{- {\sin \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} & \ldots & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{1}} \right)}} \\{- {\cos \left( {2\alpha_{2}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} \\\vdots & \vdots \\{- {\cos \left( {2\alpha_{N}} \right)}} & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}} \right)^{- 1}{\quad{{\begin{bmatrix}{- {\cos \left( {2\alpha_{1}} \right)}} & {- {\cos \left( {2\alpha_{2}} \right)}} & \ldots & {- {\cos \left( {2\alpha_{N}} \right)}} \\{- {\sin \left( {2\alpha_{1}} \right)}} & {- {\sin \left( {2\alpha_{2}} \right)}} & \ldots & {- {\sin \left( {2\alpha_{N}} \right)}}\end{bmatrix}\left\lbrack \begin{matrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{matrix} \right\rbrack} = {\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; \left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}} & {\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}{\cos \left( {2\alpha_{i}} \right)}}} \\{\sum\limits_{i = 1}^{N}\; {{\sin \left( {2\alpha_{i}} \right)}{\cos \left( {2\alpha_{i}} \right)}}} & {\sum\limits_{i = 1}^{N}\; \left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}}\end{bmatrix}^{- 1}{\quad\begin{bmatrix}{\sum\limits_{i = 1}^{N}\; {{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}\; {{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}\end{bmatrix}}}}}}}}$

The term of Σ_(i=1) ^(N) sin (2α_(i))cos(2α_(i)) must be zero becauseα_(i) is the same interval and is within just one period of the modelequation, so the equation becomes:

$\begin{matrix}{= {{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\left( {- {\cos \left( {2\alpha_{i}} \right)}} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\left( {- {\sin \left( {2\; \alpha_{i}} \right)}} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\; \alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\; \alpha_{i}} \right)}}y_{i}}}\end{bmatrix}} = {{\frac{1}{\begin{matrix}{\sum\limits_{i = 1}^{N}{\left( {- {\sin \left( {2\; \alpha_{i}} \right)}} \right)^{2} \times}} \\{\sum\limits_{i = 1}^{N}\left( {- {\cos \left( {2\; \alpha_{i}} \right)}} \right)^{2}}\end{matrix}}\begin{bmatrix}{\sum\limits_{i = 1}^{N}\left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\left( {- {\cos \left( {2\; \alpha_{i}} \right)}} \right)^{2}}\end{bmatrix}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\; \alpha_{i}} \right)}}y_{i}}} \\{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\; \alpha_{i}} \right)}}y_{i}}}\end{bmatrix} = {\frac{1}{\sum\limits_{i = 1}^{N}{\left( {- {\sin \left( {2\; \alpha_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}\left( {- {\cos \left( {2\; \alpha_{i}} \right)}} \right)^{2}}}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}{\left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\; \alpha_{i}} \right)}}y_{i}}}}} \\{\sum\limits_{i = 1}^{N}{\left( {- {\cos \left( {2\; \alpha_{i}} \right)}} \right)^{2} \times {\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\; \alpha_{i}} \right)}}y_{i}}}}}\end{bmatrix} = {\quad{\begin{bmatrix}\frac{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\; \alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\left( {- {\cos \left( {2\; \alpha_{i}} \right)}} \right)^{2}} \\\frac{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\; \alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}\left( {- {\sin \left( {2\alpha_{i}} \right)}} \right)^{2}}\end{bmatrix} = \begin{bmatrix}{{Acos}\left( {2\; \phi} \right)} \\{{Asin}\left( {2\; \phi} \right)}\end{bmatrix}}}}}}}}}}} & \left( {{{Eq}.\mspace{11mu} 5}D} \right)\end{matrix}$

Therefore, φ is given as follows:

$\begin{matrix}{{2\phi} = {\tan^{- 1}\frac{{Asin}\left( {2\phi} \right)}{{Acos}\left( {2\phi} \right)}}} & \left( {{{Eq}.\mspace{11mu} 6}D} \right)\end{matrix}$

And:

A=√{square root over ((A cos(2φ))²+(A sin(2φ))²)}

When the model equation is y=A cos(2α−2φ) each measuring current phaseis defined as (α₁, α₂, α₃, . . . α_(N),), and the model equation isshown as follows:

$\begin{matrix}{\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix} = \begin{bmatrix}{{Acos}\left( {{2\alpha_{1}} - {2\phi}} \right)} \\{{Acos}\left( {{2\alpha_{2}} - {2\phi}} \right)} \\\vdots \\{{Acos}\left( {{2\alpha_{N}} - {2\phi}} \right)}\end{bmatrix}} \\{= \begin{bmatrix}{{{{Acos}\left( {2\alpha_{1}} \right)}{\cos \left( {2\phi} \right)}} + {{{Asin}\left( {2\alpha_{1}} \right)}{\sin \left( {2\phi} \right)}}} \\{{{{Acos}\left( {2\alpha_{2}} \right)}{\cos \left( {2\phi} \right)}} + {{{Asin}\left( {2\alpha_{2}} \right)}{\sin \left( {2\phi} \right)}}} \\\vdots \\{{{{Acos}\left( {2\alpha_{N}} \right)}{\cos \left( {2\phi} \right)}} + {{{Asin}\left( {2\alpha_{N}} \right)}{\sin \left( {2\phi} \right)}}}\end{bmatrix}} \\{= {\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{1}} \right)} \\{\cos \left( {2\alpha_{2}} \right)} & {\sin \left( {2\alpha_{2}} \right)} \\\vdots & \vdots \\{\cos \left( {2\alpha_{N}} \right)} & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}\begin{bmatrix}{{Acos}\left( {2\phi} \right)} \\{{Asin}\left( {2\phi} \right)}\end{bmatrix}}}\end{matrix}$

The above equation may be written as Y=GP, where:

$\begin{matrix}{{Y = \begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix}}{G = \begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{1}} \right)} \\{\cos \left( {2\alpha_{2}} \right)} & {\sin \left( {2\alpha_{2}} \right)} \\\vdots & \vdots \\{\cos \left( {2\alpha_{N}} \right)} & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}}{P = \begin{bmatrix}{{Acos}\left( {2\phi} \right)} \\{{Asin}\left( {2\phi} \right)}\end{bmatrix}}} & \left( {{{Eq}.\mspace{11mu} 3}E} \right)\end{matrix}$

If measurement error E is added, the equation may be written as Y=GP+Eor E=Y−GP. The least squares method finds the solution to P which givesthe extremum of square norm of E, as follows:

$\begin{matrix}{\begin{matrix}{{E}^{2} = {E^{*} \cdot E}} \\{= {\left( {Y^{*} - {P^{*}G^{*}}} \right) \cdot \left( {Y - {GP}} \right)}} \\{= {{Y^{*}Y} - {Y^{*}{GP}} - {P^{*}G^{*}Y} + {P^{*}G^{*}{GP}}}} \\{= {{Y^{*}Y} - {2Y^{*}{GP}} + {P^{*}G^{*}{GP}}}}\end{matrix}{{\frac{\partial\;}{\partial P}{E}^{2}} = {{{{- 2}Y^{*}G} + {2P^{*}G^{*}G}} = 0}}{{Y^{*}G} = {P^{*}G^{*}G}}{P^{*} = {Y^{*}{G\left( {G^{*}G} \right)}^{- 1}}}{P = {\left( {G^{*}G} \right)^{- 1}G^{*}Y}}{P = {G^{+}Y}}} & \left( {{{Eq}.\mspace{11mu} 4}E} \right)\end{matrix}$

Where:

Y*, P*, G*; adjoint matrix

G⁺=(G*G)⁻¹G*; pseudo-inverse matrix

If G* is found by what Eq. 3E is assigned to Eq. 4E, then P may befound.

  P = G⁺Y   P = (G^(T)G)⁻¹G^(T)Y;$G^{T} = {{G^{*}\mspace{14mu} {since}\mspace{14mu} G\mspace{14mu} {is}\mspace{14mu} a\mspace{14mu} {real}\mspace{14mu} {number}} = {\left( {\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\cos \left( {2\alpha_{2}} \right)} & \ldots & {\cos \left( {2\alpha_{N}} \right)} \\{\sin \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{2}} \right)} & \ldots & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{1}} \right)} \\{\cos \left( {2\alpha_{2}} \right)} & {\sin \left( {2\alpha_{2}} \right)} \\\vdots & \vdots \\{\cos \left( {2\alpha_{N}} \right)} & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}} \right)^{- 1}{\quad{{\begin{bmatrix}{\cos \left( {2\alpha_{1}} \right)} & {\cos \left( {2\alpha_{2}} \right)} & \ldots & {\cos \left( {2\alpha_{N}} \right)} \\{\sin \left( {2\alpha_{1}} \right)} & {\sin \left( {2\alpha_{2}} \right)} & \ldots & {\sin \left( {2\alpha_{N}} \right)}\end{bmatrix}\begin{bmatrix}y_{1} \\y_{2} \\\vdots \\y_{N}\end{bmatrix}} = {\begin{bmatrix}{\sum\limits_{i = 1}^{N}\left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}} & {\sum\limits_{i = 1}^{N}{{\cos \left( {2\alpha_{i}} \right)}{\sin \left( {2\alpha_{i}} \right)}}} \\{\sum\limits_{i = 1}^{N}{{\sin \left( {2\alpha_{i}} \right)}{\cos \left( {2\alpha_{i}} \right)}}} & {\sum\limits_{i = 1}^{N}\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}{{\cos \left( {2\; \alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}{{\sin \left( {2\; \alpha_{i}} \right)}y_{i}}}\end{bmatrix}}}}}}$

The term of Σ_(i=1) ^(N) sin(2α_(i))cos(2α_(i)) must be zero becauseα_(i) is the same interval and is within just one period of the modelfunction, so the equation becomes:

$\begin{matrix}{= {{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\left( {\cos \left( {2\alpha_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\left( {\sin \left( {2\; \alpha_{i}} \right)} \right)^{2}}\end{bmatrix}^{- 1}\begin{bmatrix}{\sum\limits_{i = 1}^{N}{{\cos \left( {2\; \alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}{{\sin \left( {2\; \alpha_{i}} \right)}y_{i}}}\end{bmatrix}} = {\frac{1}{\sum\limits_{i = 1}^{N}{\left( {\sin \left( {2\; \alpha_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}\left( {\cos \left( {2\; \alpha_{i}} \right)} \right)^{2}}}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}} & 0 \\0 & {\sum\limits_{i = 1}^{N}\left( {\cos \left( {2\; \alpha_{i}} \right)} \right)^{2}}\end{bmatrix}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}{{\cos \left( {2\; \alpha_{i}} \right)}y_{i}}} \\{\sum\limits_{i = 1}^{N}{{\sin \left( {2\; \alpha_{i}} \right)}y_{i}}}\end{bmatrix} = {\frac{1}{\sum\limits_{i = 1}^{N}{\left( {\sin \left( {2\; \alpha_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}\left( {\cos \left( {2\; \alpha_{i}} \right)} \right)^{2}}}}{\quad{\begin{bmatrix}{\sum\limits_{i = 1}^{N}{\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}{{\cos \left( {2\; \alpha_{i}} \right)}y_{i}}}}} \\{\sum\limits_{i = 1}^{N}{\left( {\cos \left( {2\; \alpha_{i}} \right)} \right)^{2} \times {\sum\limits_{i = 1}^{N}{{\sin \left( {2\; \alpha_{i}} \right)}y_{i}}}}}\end{bmatrix} = {\quad{\begin{bmatrix}\frac{\sum\limits_{i = 1}^{N}{{\cos \left( {2\; \alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\left( {\cos \left( {2\; \alpha_{i}} \right)} \right)^{2}} \\\frac{\sum\limits_{i = 1}^{N}{{\sin \left( {2\; \alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}\left( {\sin \left( {2\alpha_{i}} \right)} \right)^{2}}\end{bmatrix} = \begin{bmatrix}{{Acos}\left( {2\; \phi} \right)} \\{{Asin}\left( {2\; \phi} \right)}\end{bmatrix}}}}}}}}}}}}} & \left( {{{Eq}.\mspace{11mu} 5}E} \right)\end{matrix}$

Therefore, φ is given as follows:

${2\phi} = {\tan^{- 1}\frac{{Asin}\left( {2\phi} \right)}{{Acos}\left( {2\phi} \right)}}$

Therefore, when the model equation is y=−A cos(2α−2φ) the followingalgorithms may be used:

$\begin{matrix}{{{{Acos}\left( {2\phi} \right)} = \frac{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}}{3}}{{{Asin}\left( {2\phi} \right)} = \frac{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{3}}{{2\phi} = {{\tan^{- 1}\left( \frac{{Asin}\left( {2\phi} \right)}{{Acos}\left( {2\phi} \right)} \right)} = {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)}}}} & \left( {{{Eq}.\mspace{11mu} 7}A} \right)\end{matrix}$

And when the model equation is y=A cos(2α−2φ) the following algorithmsmay be used:

$\begin{matrix}{{{{Acos}\left( {2\phi} \right)} = \frac{\sum\limits_{i = 1}^{N}{{\cos \left( {2\alpha_{i}} \right)}y_{i}}}{3}}{{{Asin}\left( {2\phi} \right)} = \frac{\sum\limits_{i = 1}^{N}{{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{3}}{{2\phi} = {{\tan^{- 1}\left( \frac{{Asin}\left( {2\phi} \right)}{{Acos}\left( {2\phi} \right)} \right)} = {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}{{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}{{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)}}}} & \left( {{{Eq}.\mspace{11mu} 7}B} \right)\end{matrix}$

The following procedure is then used to determine θ since the modelequation is a trigonometric function with double angle variable.

$\begin{matrix}{\theta_{a} = {\phi - \delta}} & \left( {{{Eq}.\mspace{11mu} 8}A} \right) \\{\theta_{b} = \left\{ \begin{matrix}{{\theta_{a} + \pi},} & {\theta_{a} < 0} \\{\theta_{a},} & {\theta_{a} \geq 0}\end{matrix} \right.} & \left( {{{Eq}.\mspace{11mu} 9}A} \right) \\{\theta = \left\{ \begin{matrix}{\theta_{b},} & {{- \frac{\pi}{3}} < \tau < {+ \frac{\pi}{3}}} \\{{\theta_{b} + \pi},} & {{\tau < {- \frac{\pi}{3}}},{\tau > {+ \frac{\pi}{3}}}}\end{matrix} \right.} & {\left( {{{Eq}.\; 10}A} \right)\;}\end{matrix}$

Where

  τ_(b) = θ_(b) − α_(k) $\alpha_{k} = \left\{ {{\begin{matrix}{{\alpha_{i}\mspace{14mu} {which}\mspace{14mu} {gives}\mspace{14mu} {the}\mspace{14mu} {least}\mspace{14mu} y_{i}},{{{model}\mspace{14mu} {equation}\mspace{14mu} y} = {- {{Acos}\left( {{2\alpha} - {2\phi}} \right)}}}} \\{{\alpha_{i}\mspace{14mu} {which}\mspace{14mu} {gives}\mspace{14mu} {the}\mspace{14mu} {largest}\mspace{14mu} y_{i}},{{{model}\mspace{14mu} {equation}\mspace{14mu} y} = {{Acos}\left( {{2\alpha} - {2\phi}} \right)}}}\end{matrix}\mspace{20mu} \tau} = \left\{ \begin{matrix}{\tau_{a},} & {\tau_{a} > {- \left( {\pi + \delta} \right)}} \\{{\tau_{a} + {2\pi}},} & {\tau_{a} < {- \left( {\pi + \delta} \right)}}\end{matrix} \right.} \right.$

Equation 7A or 7B and Equations 8A-10A are then used for the actualoperation. For example, referring now to FIG. 36, a representativeexample of a system for sensing rotor position of a motor (system) 142is given. System 142 is coupled with a delta configuration three-phasepermanent magnet synchronous motor (PMSM) 136, and the rotor 138 andstator 140 are represented. System 142 is in many ways similar to system46 described previously, except that logic elements 144 are configuredspecifically to perform the operations of Equations 7A/7B and Equations8A-10A. As with previously described systems, voltage pulses may be usedand then a time measured (Tmes) or a current measured (Imes) in order todetermine the position of the rotor. Three-phase inverter 26 has theconfiguration of three-phase inverter 128 of FIG. 24.

The multiplexer 34 is accordingly identical to that previously describedand allows the measured values y_(i) (whether Tmes or Imes values) to bepassed through to logic elements 144 so that the position of the rotorof the PMSM may be calculated. The a_(i) values shown in FIG. 36 are−cos(2α_(i)) or cos(2α_(i)) and the b_(i) values shown in FIG. 36 aresin(2α_(i)) or −sin(2α_(i)) depending on which mode is being used(current or time measurement). The value of α_(i) may also be describedas being equal to δ+(i−1)(π/3). The value of i is greater than or equalto 1 and less than or equal to N (as described, in some implementationsi=1, 2, 3, 4, 5, 6). Summations are performed by logic elements 144 asindicated by Equation 7A/7B. The φ value is calculated using Equation7A/7B and the δ value is subtracted therefrom to obtain the θ_(a) valueas indicated by Equation 8A. The θ_(b) value is then calculated from theθ_(a) value using Equation 9A. The θ value is then calculated from theθ_(b) value using Equation 10A. System 142, similar to system 46, isthus used with a non-vector-control PMSM.

Various labels are given to different signals. The Mes_sel is the modeselection signal which is communicated from the main state controller tothe multiplexer 34 to determine whether to allow Tmes or Imes signals topass through (depending on which is being measured, the time or thecurrent). The Mode_sel signal is communicated from the main statecontroller to the multiplexer 36 to switch between normal operation andinitial rotor sensor position sensing operation. The Mes_pls signal is ameasuring pulse signal to perform the position sensing. Inimplementations the Mes_pls signal could itself be the voltage pulsethough in other implementations it is only a signal used to effectuatethe voltage pulse. TIM_cnt is a control signal from the signal processor44 to the timer to start/stop the timer. ADC_cnt is a control signal forthe ADC to communicate the Imes value to the logic elements (and the Imvalue to the normal drive signal processor). CMP_out is the comparatoroutput which is communicated to signal processor 44 and to the mainstate controller. θ_(ini) represents the initial rotor position ascalculated by the system.

FIG. 37 shows a representative example of a system for sensing rotorposition of a motor (system) 146 that is similar to system 142 exceptconfigured for vector control. An additional amplifier and ADC elementare included so that two motor current signals Iv and Iu are sent to thenormal drive signal processor for vector control. Thus AMP 50 and AMP 52are both coupled with the single shunt resistor Rs. The output from AMP50 is communicated to the comparator for Tmes measuring (for when Tmesmode is used) and the output from AMP 50 is also communicated to the ADC54 which is converted to a digital signal and then sent to the normaldrive signal processor as signal Iu for vector control. Additionally,the output from ADC 54 is communicated to multiplexer 34 but is onlypassed through to the logic elements 144 if the main state controllerhas switched the multiplexer to Imes mode. The ADC 54 output iscommunicated to the multiplexer 34 and to the normal drive signalprocessor when controlled to do so by the signal processor 44 using theADC_cnt signal. AMP 52 communicates an analog signal to ADC 56 and ADC56 coverts this to a digital signal and forwards it to the normal drivesignal processor as signal Iv for vector control. The CMP_out signal isforwarded to both the signal processor 44 and to the main statecontroller. The normal drive signal processor thus uses the initialrotor position signal θini and the vector control current signals Iv andIu to optimally increase, maintain, or decrease the speed of the rotorof the delta configuration PMSM as desired. The delta configuration PMSMmay be an SPMSM or an IPMSM.

FIG. 38 shows an implementation of a system for sensing rotor positionof a motor (system) 148 that is in many ways similar to system 76,previously described, except configured for use with adelta-configuration motor and using logic elements 144. The three-phaseinverter has the configuration of three-phase inverter 130 of FIG. 25.The same signals are used to control the same switches, as previouslydescribed with respect to three-phase inverter 128, but three shuntresistors are coupled therewith as seen: Rsu, Rsv, and Rsw. The signalselection and forwarding is as described above for system 58.Multiplexer 82 forwards either a Tmes or Imes signal corresponding withRsw or Rsv, and this is amplified using AMP 78 on one line and onanother line is forwarded to ADC 86. AMP 80 amplifies a Tmes or Imessignal corresponding with Rsu and forwards it to multiplexer 84 and ADC88. Multiplexer 90 forwards either the input from ADC 86 or ADC 88 tomultiplexer 34. Except for the configuration of the system for use witha delta configuration PMSM (IPMSM or SPMSM) and the use of logicelements 144, the operation of the elements of system 148 is similar oridentical to similarly situated elements of system 76. The CMP_outsignal is forwarded to both the signal processor 44 and to the mainstate controller. System 148 is thus used for rotor position measurementor calculation of a vector-controlled delta configuration PMSM (whetherSPMSM or IPMSM).

FIG. 39 shows an implementation of a system for sensing rotor positionof a motor (system) 150 that is in many ways similar to system 58,except configured for use with a vector-controlled delta configurationPMSM (IPMSM or SPMSM) and having logic elements 144 for performing theoperations of Equations 7A/7B and 8A-10A. Otherwise the operation andelements are similar as those previously described with respect tosystem 58.

FIG. 40 shows an implementation of a system for sensing rotor positionof a motor (system) 152 that is in many ways similar to system 92,except configured for use with a vector-controlled delta configurationPMSM (IPMSM or SPMSM) and having logic elements 144 for performing theoperations of Equations 7A/7B and 8A-10A. Otherwise the operation andelements are similar as those previously described with respect tosystem 92.

FIG. 41 shows an implementation of a system for sensing rotor positionof a motor (system) 154 that is in many ways similar to system 110,except configured for use with a vector-controlled delta configurationPMSM (IPMSM or SPMSM) and having logic elements 144 for performing theoperations of Equations 7A/7B and 8A-10A. Otherwise the operation andelements are similar as those previously described with respect tosystem 110.

FIG. 42 shows a flow chart representing a method for sensing rotorposition of a motor (method) 156 which may be used to sense or calculatethe rotor position of a delta-configuration vector-controlled PMSM(whether an SPMSM or IPMSM). The flow chart method representativelyillustrates a method which utilizes the Tmes measuring (a similarflowchart with some variations could be shown for Imes measuring). Acomparator threshold value is set (to determine when the Ic value isreached for Tmes measuring or to determine when Imes peaks for Imesmeasuring) and the first y_(i) measurement y₁ is done to measure Tmescorresponding with the vu current vector. This measurement correspondswith i=1. A second y_(i) measurement y₂ is done to measure Tmescorresponding with the vw current vector, which measurement correspondswith i=2. A third measurement y₃ is done to measure Tmes correspondingwith the uw current vector, which measurement corresponds with i=3. Afourth measurement y₄ is done to measure Tmes corresponding with the uvcurrent vector, which measurement corresponds with i=4. A fifthmeasurement y₅ is done to measure Tmes corresponding with the wv currentvector, which measurement corresponds with i=5. A sixth measurement y₆is done to measure Tmes corresponding with the wu current vector, whichmeasurement corresponds with i=6. For the Imes method the Imes valuescorresponding with each current vector could instead be measured.

Position is then calculated using Equation 7A or Equation 7B (dependingon whether Tmes or Imes was measured—in this case Tmes was measured) andthen Equations 8A-10A are used to calculate the rotor position as hasbeen described previously.

FIG. 27 representatively illustrates a method for measuring time values(method) 134 that is a portion of each y_(i) measuring step of FIG. 42.The timer is cleared and then the three-phase inverter output isswitched to correspond with the Ph_sel signal to select either the wu,wv, uv, uw, vw, or vu current vector. The timer is then started. A waittime occurs until the comparator outputs a signal indicative that acurrent level Ic has been reached, at which point the timer is stopped.The three-phase inverter output is turned off (i.e., the end of thevoltage pulse) and the measured Tmes value is the measured value y_(i).A wait period then occurs to ensure full decay of the stator coilenergy, after which the process may be started again. Although thecurrent vectors are measured in this representative example in aspecific order, in other implementations they could be measured in otherorders.

A method similar to method 134, but for measuring Imes, could includeutilizing the comparator to determine when to control one or more ADCsto forward an Imes signal to the multiplexer 34 for processing. Forexample, the comparator may determine when a current peaks and, at thattime, may signal the signal processor 44 to control the ADC to forward asignal to multiplexer 34. This may be done for each current vector wu,wv, uv, uw, vw, and vu as described above for Tmes measuring.

In places where the description above refers to particularimplementations of rotor position sensing system for three phase motorsand related methods and implementing components, sub-components, methodsand sub-methods, it should be readily apparent that a number ofmodifications may be made without departing from the spirit thereof andthat these implementations, implementing components, sub-components,methods and sub-methods may be applied to other rotor position sensingsystem for three phase motors and related methods.

What is claimed is:
 1. A system for sensing rotor position of a motor,the system comprising: a controller configured to couple with a deltaconfiguration three-phase permanent magnet synchronous motor (PMSM), thecontroller configured to cause a plurality of voltage pulses to beapplied to the PMSM; an analog-to-digital converter (ADC) configured tobe coupled with the PMSM and with the controller and configured tomeasure a plurality of values (measured values) from a three-phaseinverter configured to couple with the PMSM, each of the measured valuescorresponding with one of the plurality of voltage pulses each appliedfor a predetermined constant time interval and comprising a currentvalue corresponding with an inductance of the PMSM; and one or morelogic elements configured to calculate, using one or more positionalgorithms, a position of a rotor of the PMSM relative to a stator ofthe PMSM; wherein the one or more position algorithms employ a leastsquares method with the measured values to calculate the position of therotor when the rotor is in a stopped configuration and when the rotor isin a rotating configuration.
 2. The system of claim 1, wherein the oneor more logic elements are coupled with one or more shunt resistors thatare coupled with the three-phase inverter.
 3. The system of claim 1,wherein the system is configured to calculate a position of a rotor of aPMSM that is not controlled using vector control (field-orientedcontrol).
 4. The system of claim 1, wherein the PMSM comprises a surfacepermanent magnet synchronous motor (SPMSM).
 5. The system of claim 1,wherein the PMSM comprises an interior permanent magnet synchronousmotor (IPMSM).
 6. The system of claim 1, wherein the one or more logicelements calculate the position of the rotor within 30 degrees ofaccuracy.
 7. The system of claim 1, wherein the one or more positionalgorithms include$\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}{{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}{{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)$wherein each α_(i) includes a value between 0 and 2π and wherein eachy_(i) includes one of the measured values.
 8. The system of claim 1,wherein the system is configured to calculate a position of a rotor of aPMSM that is controlled using vector control (field-oriented control).9. A system for sensing rotor position of a motor, the system,comprising: a controller configured to couple with a delta configurationthree-phase permanent magnet synchronous motor (PMSM), the controllerconfigured to cause a plurality of voltage pulses to be applied to thePMSM; a timer coupled with the at least one shunt resistor configured tocouple with the PMSM and also configured to measure a plurality ofvalues (measured values), each of the measured values corresponding withone of the plurality of voltage pulses and comprising a time valuecorresponding with an inductance of the PMSM; and one or more logicelements coupled with the timer and configured to calculate, using oneor more position algorithms, a position of a rotor of the PMSM relativeto a stator of the PMSM; wherein the one or more position algorithmsemploy a least squares method with the plurality of measured values anda plurality of measuring current vector phase values to calculate theposition of the rotor when the rotor is in a stopped configuration andwhen the rotor is in a rotating configuration.
 10. The system of claim9, wherein the one or more logic elements calculate the position of therotor within 30 degrees of accuracy.
 11. The system of claim 9, whereinthe system is configured to calculate a position of a rotor of a PMSMthat is not controlled using vector control (field-oriented control).12. The system of claim 9, wherein the system comprises the timer, ananalog to digital converter (ADC), a comparator, and a multiplexer eachcoupled with the one or more logic elements.
 13. The system of claim 9,wherein the system further comprises a sample and hold element (S/H) andan analog multiplexer (AMUX) coupled with the one or more logicelements.
 14. The system of claim 9, wherein the one or more positionalgorithms include$\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)$wherein each α_(i) includes a value between 0 and 2π and wherein eachy_(i) includes one of the measured values.
 15. A method for sensingrotor position of a motor, the method, comprising: providing acontroller and one of a timer and an analog-to-digital converter (ADC)configured to couple with a delta configuration three-phase permanentmagnet synchronous motor (PMSM); applying, using the controller, aplurality of voltage pulses to the PMSM; measuring, with the one of thetimer and the ADC, a plurality of values (measured values) from athree-phase inverter coupled with the PMSM, each of the measured valuescorresponding with one of the plurality of voltage pulses and comprisingone of a current value corresponding with an inductance of the PMSM anda time value corresponding with an inductance of the PMSM, and;calculating, with one or more logic elements coupled with the PMSM,using one or more position algorithms, a position of a rotor of the PMSMrelative to a stator of the PMSM; wherein the one or more positionalgorithms employ a least squares method with the plurality of values tocalculate the position of the rotor when the rotor is in a stoppedconfiguration and when the rotor is in a rotating configuration; andwherein the one or more logic elements are configured to calculate aposition of a rotor of a PMSM that is not controlled using vectorcontrol (field-oriented control).
 16. The method of claim 15, whereinthe one or more position algorithms includes one of${\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}{{- {\sin \left( {2\alpha_{i}} \right)}}y_{i}}}{\sum\limits_{i = 1}^{N}{{- {\cos \left( {2\alpha_{i}} \right)}}y_{i}}} \right)}\mspace{14mu} {and}\mspace{14mu} {\tan^{- 1}\left( \frac{\sum\limits_{i = 1}^{N}{{\sin \left( {2\alpha_{i}} \right)}y_{i}}}{\sum\limits_{i = 1}^{N}{{\cos \left( {2\alpha_{i}} \right)}y_{i}}} \right)}$wherein each α_(i) includes a value between 0 and 2π and wherein eachy_(i) includes one of the measured values.
 17. The method of claim 15,further comprising calculating, with the one or more logic elements, theposition of the rotor relative to the stator when the rotor is in thestopped configuration.
 18. The method of claim 15, further comprisingcoupling the timer with the PMSM and toggling the timer between a startconfiguration and a stop configuration using a signal processor inresponse to an input from a comparator.
 19. The method of claim 15,further comprising coupling the ADC with the PMSM, converting an analogsignal from the three-phase inverter to a digital signal using the ADC,and communicating the digital signal from the ADC to the one or morelogic elements.
 20. The method of claim 15, wherein the measured valuesare measured using one or more elements coupled with one or more shuntresistors that are coupled with the three-phase inverter.